Techniques for disambiguating clustered location identifiers

ABSTRACT

Embodiments of the present disclosure present devices, methods, and computer readable medium for disambiguating clustered location identifiers. A location identifier can be the name of a business or establishment. Digital assets contain a plurality of metadata that can be used to identify the location or establishment at which digital assets were captured. Techniques can use various types contextual information based on a category of the digital asset for disambiguation. Automatically labelling the digital assets assists a user in organizing and sharing the digital assets with friends and family. Users can search for digital assets by the name of the location where the digital assets were captured.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of U.S. patent application Ser. No.16/219,602, filed Dec. 13, 2018 entitled “Techniques for DisambiguatingClustered Location Identifiers” and U.S. Provisional Application No.62/729,619, entitled “Techniques for Disambiguating Clustered LocationIdentifiers,” filed Sep. 11, 2018. This application incorporates byreference commonly-owned U.S. Patent Application Ser. No. 62/668,153,filed May 7, 2018 entitled “Digital Asset Search Techniques,” in itsentirety and for all purposes. This application also incorporates byreference commonly-owned U.S. patent application Ser. No. 15/391,276,filed Dec. 27, 2016, entitled “Knowledge Graph Metadata Network Based onNotable Moments,” U.S. Provisional Application No. 62/729,621, entitled“Techniques for Disambiguating Clustered Occurrence Identifiers,” filedSep. 11, 2018, and U.S. patent application Ser. No. 16/219,661, entitled“Techniques For Disambiguating Clustered Occurrence Identifiers” intheir entireties and for all purposes.

BACKGROUND

Modern computing devices provide the opportunity to capture and storethousands of photos, videos, and other digital assets in the device. Itcan be challenging to find specific photos or videos to show to friendsand family. Manually labeling these thousands of pictures can be timeconsuming and may make it difficult to link a single digital assets withmultiple collections. A user may have to sort through many irrelevantdigital assets prior to finding one of interest. Digital assets can becaptured at various locations (e.g., restaurants or bars) in highdensity areas. While GPS can have a precision down to +/−10 meters, thelocation metadata for digital assets may only have a precision of +/−200meters for indoor locations. In high density areas where there arenumerous restaurants, establishments, and entertainment and businessvenues located in close vicinity it can be difficult to preciselydetermine where a digital asset was captured. Digital assets may also betaken outside a location identifier but the user may not have actuallywent to the location when the digital asset was captured. Further,digital assets that are captured within a close vicinity or shortlybefore or after visiting a location can be captured and categorized withthe visit to the location.

SUMMARY

Embodiments of the present disclosure can provide devices, methods, andcomputer-readable medium for disambiguating clustered locationidentifiers. The present disclosure ingests digital assets andassociated metadata into a memory of a computing device. The techniquesdisclosed herein identify the clusters of digital assets in the digitalasset collection and utilized captured metadata and other information toautomatically identify a capture location identifier from a plurality oflocation identifiers. The digital assets in the cluster can be taggedwith this information. Once the digital assets are tagged with thelocation information, a user can easily perform a search for thelocation and recall one of more digital assets from a search. Thesetechniques enable a user to quickly and easily filter digital assets ina digital asset collection. The disclosed techniques allow for rapidrecall of desired assets, linking assets into logical collections, andproviding an overall improved user experience.

In various embodiments, the difficulties in disambiguating clusteredlocation identifiers can be overcome through the techniques described inthe present disclosure. In various embodiments, the techniques can beperformed by one or more processors of a computing device. Thetechniques can involve identifying a collection of digital assets havingat least a first digital asset and a second digital asset, thecollection of digital assets being stored on the computing device. Thetechniques include generating a consolidated address for a locationcluster of digital assets comprising the first digital asset and thesecond digital asset. The techniques can include determining a firstgeographic location for the first digital asset based at least in parton location metadata associated with the first digital asset. Thetechniques can include determining a first time for the first digitalasset based at least in part on time metadata associated with the firstdigital asset. The techniques can include calculating a distance rangebetween the first geographic location and a second geographic location,the second geographic location based at least in part on locationmetadata associated with the second digital asset. The techniques caninclude transmitting a request, to a first web service, for a pluralityof location identifiers within a target range of the first geographiclocation. The techniques can include calculating a time range betweenthe first time and a second time, the second time based at least in parton time metadata associated with the second digital asset. Thetechniques can include calculating a confidence metric for the firstdigital asset indicating a degree of confidence that the first digitalasset was generated at a location corresponding to at least one of theplurality of location identifiers, the confidence metric calculated inaccordance with the distance range satisfying a minimum distance and thetime range satisfying a minimum duration. The techniques can includeassociating the first digital asset with the at least one of theplurality of location identifiers in accordance with the confidencemetric exceeding a confidence threshold. The techniques can includeupdating a knowledge graph stored in the computing device to include theassociation between the first digital asset and the at least one of theplurality of location identifiers.

In various embodiments, the techniques can include transmitting arequest, to a second location service, the second location servicetracking a history of geographic locations for the computing device overtime, the request to the second location service requesting a length oftime the computing device was located within a specified distance fromthe plurality of location identifiers within the target range of thefirst geographic location. The techniques can include modifying theconfidence metric based at least in part on the length of time thecomputing device spent within the specified distance from the pluralityof location identifiers within the target range of the first geographiclocation.

In various embodiments, the techniques can include accessing theknowledge graph to for a determination that metadata for the firstdigital asset are consistent at least in part with a meaning associatedwith the location identifier. The techniques can also include modifyingthe confidence metric based at least in part on a correlation betweenthe metadata for the first digital asset and the meaning associated withthe location identifier.

In various embodiments, the techniques can include collecting theplurality of location identifiers within the range of the firstgeographic location. The techniques can include verifying that the timerange exceeds the minimum duration. The techniques can include applyingmatching techniques to a plurality of metadata associated with thelocation identifiers. The techniques can include filtering the locationidentifiers based at least in part on a statistical model. Thetechniques can include modifying the confidence metric based at least inpart on applying the matching techniques and filtering the locationidentifiers.

In various embodiments, the techniques can include associating thesecond digital asset with the at least one of the plurality of locationidentifiers in accordance with a determination that the confidencemetric exceeds the threshold. The techniques can include updating theknowledge graph stored in the computing device to include theassociation between the second digital asset and the at least one of theplurality of location identifiers.

In some embodiments, the techniques can include accessing a telephonecall history on the computing device to correlate a call to thelocation. The techniques can include modifying the confidence metricbased at least in part on a correlation between the location and thetelephone call.

In various embodiments, the location identifier disambiguationtechniques can be stored as a plurality of instructions in a computerreadable medium.

In various embodiments, the location identifier disambiguationtechniques can be incorporated in a computing device, including one ormore memories, and one or more processors in communication with the oneor more memories and configured to execute instructions stored in theone or more memories.

The following detailed description together with the accompanyingdrawings will provide a better understanding of the nature andadvantages of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary schema for disambiguation of clusteredlocation identifiers.

FIG. 2 illustrates an exemplary scheme for disambiguation of locationinformation.

FIG. 3 illustrates an example user interface for digital asset search,specifically an example of a digital assets search page, in accordancewith at least one embodiment.

FIG. 4 illustrates another example user interface for digital assetsearch, specifically a search entry page, in accordance with at leastone embodiment.

FIG. 5 illustrates another example user interface for digital assetsearch, specifically a suggestions page, in accordance with at least oneembodiment.

FIG. 6 illustrates another example user interface for digital assetsearch, specifically a results page, in accordance with at least oneembodiment.

FIG. 7 illustrates another example user interface for digital assetsearch, specifically a continuation of the results page of FIG. 6 , inaccordance with at least one embodiment.

FIG. 8 illustrates another example user interface for digital assetsearch, specifically a results page, in accordance with at least oneembodiment.

FIG. 9 illustrates another example user interface for digital assetsearch, specifically a results page, in accordance with at least oneembodiment.

FIG. 10 illustrates another example user interface for digital assetsearch, specifically a results page, in accordance with at least oneembodiment.

FIG. 11 illustrates another example user interface for digital assetsearch, specifically a suggestions page, in accordance with at least oneembodiment.

FIG. 12 is another flow diagram to illustrate searching digital assetsin a digital asset collection as described herein, according to at leastone example.

FIG. 13 is a simplified block diagram illustrating is a computerarchitecture for searching digital assets in a digital asset collectionas described herein, according to at least one example.

FIG. 14 illustrates another example user interface for digital assetsearch, specifically a results page, in accordance with at least oneembodiment.

FIG. 15A and FIG. 15B illustrate a flow diagram to illustrate techniquesfor disambiguation location identifiers as described herein, accordingto at least one example.

FIG. 16A and FIG. 16B illustrate a flow diagram to illustrate computerreadable medium techniques for disambiguation of location identifiers asdescribed herein, according to at least one example.

FIG. 17 illustrates an exemplary diagram of a computer devicearchitecture.

DETAILED DESCRIPTION

Certain embodiments of the present disclosure relate to devices,computer-readable medium, and methods for implementing varioustechniques for disambiguating clustered location identifiers in acomputing device. In the following description, various embodiments willbe described. For purposes of explanation, specific configurations anddetails are set forth in order to provide a thorough understanding ofthe embodiments. However, it will also be apparent to one skilled in theart that the embodiments may be practiced without the specific details.Furthermore, well-known features may be omitted or simplified in ordernot to obscure the embodiment being described. The present disclosuredescribes devices and methods for disambiguating clustered locationidentifiers for various digital assets (e.g., digital photos, digitalvideo, etc.) stored in a digital asset collection on computing device.

Embodiments of the present disclosure are directed to, among otherthings, improving a user experience concerning the accessing andsearching of a digital asset collection. As used herein, a “digitalasset” may include data that can be stored in or as a digital form(e.g., digital image, digital video, music files, digital voicerecording). As used herein, a “digital asset collection” refers tomultiple digital assets that may be stored in one or more storagelocations. The one or more storage locations may be spatially orlogically separated. As used herein, a “knowledge graph” refers to ametadata network associated with a collection of digital assetsincluding correlated metadata assets describing characteristicsassociated with digital assets in the digital asset collection. As usedherein, a “node” in a metadata network refers to a metadata assetassociated with one or more digital assets in a digital assetcollection. As used herein, a “consolidated address” is a constructbuilt on top of address edges and node in the knowledge graph. Aconsolidated address combines several address edges that point to thesame place mark with a maximum time and distance location. Usingconsolidated address helps extend attendance time for users visitinglarge venues. The examples and contexts of such examples provided hereinare intended for illustrative purposes and not to limit the scope ofthis disclosure.

In some embodiments, a digital asset management module/logic obtains orgenerates a knowledge graph metadata network (hereinafter “knowledgegraph”) associated with a collection of digital assets. The metadatanetwork can comprise of correlated metadata assets describingcharacteristics associated with digital assets in the digital assetcollection. Each metadata asset can describe a characteristic associatedwith one or more digital assets in the digital asset collection. In anon-limiting example, a metadata asset can describe a characteristicassociated with multiple digital assets in the digital asset collection.Each metadata asset can be represented as a node in the metadatanetwork. A metadata asset can be correlated with at least one othermetadata asset. Each correlation between metadata assets can berepresented as an edge in the metadata network that is between the nodesrepresenting the correlated metadata assets. In some embodiments, thedigital asset management module/logic identifies a first metadata assetin the metadata network. The digital asset management module/logic canalso identify a second metadata asset based on at least the firstmetadata asset. In some embodiments, the digital asset managementmodule/logic causes one or more digital assets with the first and/orsecond metadata assets to be presented via an output device.

In some embodiments, the digital asset management module/logic canenable the system to generate and use and knowledge graph of the digitalasset metadata as a multidimensional network. The digital assetmanagement module/logic can obtain or receive a collection of digitalasset metadata associated with the digital asset collection. The digitalassets stored in the digital asset collection includes, but is notlimited to, the following: image media (e.g., still or animated image,etc.); audio media (e.g., a digital sound file); text media (e.g., ane-book, etc.); video media (e.g., a movie, etc.); and haptic media(e.g., vibrations or motions provided in connection with other media,etc.). The examples of digitized data above can be combined to formmultimedia (e.g., an animated movie, a videogame etc.). A single digitalasset refers to a single instance of digitized data (e.g., an image, asong, a movie, etc.).

As used herein, “metadata” and “digital asset metadata” collectivelyreferred to information about one or more digital assets. Metadata canbe: (i) a single instance of information about digitized data (e.g., atimestamp associated with one or more images, etc.); or (ii) a groupingof metadata, which refers to a group comprised of multiple instances ofinformation about digitized data (e.g., several timestamps associatedwith one or more images etc.). There are different types of metadata.Each type of metadata describes one or more characteristics orattributes associated with one or more digital assets. Each metadatatype can be categorized as primitive metadata or inferred metadata, asdescribed further below.

In some embodiments, the digital asset management module/logic canidentify primitive metadata associated with one or more digital assetswithin the digital asset metadata. In some embodiments, the digitalasset management module/logic may determine inferred metadata based onat least on the primitive metadata. As used herein, “primitive metadata”refers to metadata that describes one or more characteristics orattributes associated with one or more digital assets. That is,primitive metadata includes acquired metadata describing one or moredigital assets. In some cases, primitive metadata can be extracted frominferred metadata, as described further below.

Primary primitive metadata can include one or more of: time metadata,Geo-position metadata; geolocation metadata; people metadata; scenemetadata; content metadata; object metadata; and sound metadata. Timemetadata refers to a time associated with one or more digital assets(e.g., a timestamp associated with the digital asset, a time the digitalasset is generated, a time the digital asset is modified, a time thedigital asset is stored, a time the digital asset is transmitted, a timethe digital asset is received, etc.). Geo-position metadata refers togeographic or spatial attributes associated with one or more digitalassets using a geographic coordinate system (e.g., latitude, longitude,and/or altitude, etc.). Geolocation metadata refers to one or moremeaningful locations associated with one or more digital assets ratherthan geographic coordinates associated with digital assets. Examplesinclude a beach (and its name), a street address, a country name, aregion, a building, a landmark, etc. Geolocation metadata can, forexample, be determined by processing geographic position informationtogether with data from a map application to determine that thegeolocation for a scene in a group of images. People metadata refers toat least one detected or known person associated with one or moredigital assets (e.g., a known person in an image detected through facialrecognition techniques, etc.). Scene metadata refers to an overalldescription of an activity or situation associated with one or moredigital assets. For example, if a digital asset includes a group ofimages, then scene metadata for the group of images can be determinedusing detected objects in images. For more specific example, thepresence of a large cake with candles and balloons in at least twoimages in the group can be used to determine that the scene for thegroup of images is a birthday celebration. Object metadata refers to oneor more detected objects associated with one or more digital assets(e.g., a detected animal, a detected company logo, a detected piece offurniture, etc.). Content metadata refers to features of digital assets(e.g., pixel characteristics, pixel intensity values, luminescencevalues, brightness values, loudness levels, etc.). Sound metadata refersto one or more detected sounds associated with one or more digitalassets (e.g., detected sound is a human's voice, a detected sound as afire truck's siren etc.).

Auxiliary primitive metadata includes, but is not limited to, thefollowing: (i) a condition associated with capturing the one or moredigital assets; (ii) the condition associated with modifying one or moredigital assets; and (iii) a condition associated with storing orretrieving one or more digital assets. As used herein “inferredmetadata” refers to additional information about one or more digitalassets that is beyond the information provided by primitive metadata.One difference between primitive metadata and inferred metadata is thatprimitive metadata represents an initial set of descriptions of one ormore digital assets while inferred metadata provides additionaldescriptions of the one or more digital assets based on processing ofone or more of the primitive metadata and contextual information. Forexample, primitive metadata can be used to identify detected persons ina group of images as John Doe and Jane duo, one inferred metadata mayidentify John Doe and Jane Doe as a married couple based on processingone or more of the primitive metadata (i.e., the initial set ofdescriptions and contextual information). In some embodiments, inferredmetadata is formed from at least one of: (i) a combination of differenttypes of primitive metadata; (ii) a combination of different types ofcontextual information; (iii) or a combination of primitive metadata andcontextual information. As used herein, “contacts” and its variationsrefer to any or all attributes of a user's device that includes or hasaccess to a digital asset collection associated with the user, such asphysical, logical, social, and/or other contact contextual information.As used herein, “contextual information” and its variation refer tometadata assets that describes or defines the user's context or contextof a user's device that includes or has access to a digital assetcollection associated with the user. Exemplary contextual informationincludes, but is not limited to, the following: a predetermined timeinterval; an event scheduled to occur at a predetermined time interval;a geolocation to be visited at a predetermined time interval; one ormore identified persons associated with a predetermined time; an eventscheduled for predetermined time, or geolocation to be visited apredetermined time; whether metadata describing whether associated witha particular period of time (e.g., rain, snow, windy, cloudy, sunny,hot, cold, etc.); Season related metadata describing a season associatedwith capture of the image. For some embodiments, the contextualinformation can be obtained from external sources, a social networkingapplication, a weather application, a calendar application, and addressbook application, any other type of application, or from any type ofdata store accessible via wired or wireless network (e.g., the Internet,a private intranet, etc.).

Primary inferred metadata can include event metadata describing one ormore events associated with one or more digital assets. For example, ifa digital asset includes one or more images, the primary inferredmetadata can include event metadata describing one or more events wherethe one or more images were captured (e.g., vacation, a birthday, asporting event, a concert, a graduation ceremony, a dinner, project, aworkout session, a traditional holiday etc.). Primary inferred metadatacan in some embodiments, be determined by clustering one or more primaryprimitive metadata, auxiliary primitive metadata, and contextualmetadata. Auxiliary inferred metadata includes but is not limited to thefollowing: (i) geolocation relationship metadata; (ii) personrelationship metadata; (iii) object relationship metadata; space and(iv) sound relationship metadata. Geolocation relationship metadatarefers to a relationship between one or more known persons associatedwith one or more digital assets and on one or more meaningful locationsassociated with the one or more digital assets. For example, ananalytics engine or data meeting technique can be used to determine thata scene associated with one or more images of John Doe represents JohnDoe's home. Personal relationship metadata refers to a relationshipbetween one or more known persons associated with one or more digitalassets and one or more other known persons associated with one or moredigital assets. For example, an analytics engine or data miningtechnique can be used to determine that Jane Doe (who appears in morethan one image with John Doe) is John Doe's wife. Object relationshipmetadata refers to relationship between one or more known objectsassociated with one or more digital assets and one or more known personsassociated with one or more digital assets. For example, an analyticsengine or data mining technique can be used to determine that a boatappearing in one or more images with John Doe is owned by John Doe.Sound relationship metadata refers to a relationship between one or moreknown sounds associated with one or more digital asset and one or moreknown persons associated with the one or more digital assets. Forexample, an analytics engine or data mining technique can be used todetermine that a voice that appears in one or more videos with John Doeis John Doe's voice.

As explained above, inferred metadata may be determined or inferred fromprimitive metadata and/or contextual information by performing at leastone of the following: (i) data mining the primitive metadata and/orcontextual information; (ii) analyzing the primitive metadata and/orcontextual information; (iii) applying logical rules to the primitivemetadata and/or contextual information; or (iv) any other known methodsused to infer new information from provided or acquired information.Also, primitive metadata can be extracted from inferred metadata. For aspecific embodiment, primary primitive metadata (e.g., time metadata,geolocation metadata, scene metadata, etc.) can be extracted fromprimary inferred metadata (e.g., event metadata, etc.). Techniques fordetermining inferred metadata and/or extracting primitive metadata frominferred metadata can be iterative. For a first example, inferringmetadata can trigger the inference of other metadata and so on primitivemetadata from inferred metadata can trigger inference of additionalinferred metadata or extraction of additional primitive metadata.

The primitive metadata and the inferred metadata described above arecollectively referred to as the digital asset metadata. In someembodiments, the digital asset maintenance module/logic uses the digitalasset metadata to generate a knowledge graph. All or some of themetadata network can be stored in the processing unit(s) and/or thememory. As used herein, a “knowledge graph,” a “knowledge graph metadatanetwork,” a “metadata network,” and their variations refer to adynamically organized collection of metadata describing one or moredigital assets (e.g., one or more groups of digital assets in a digitalasset collection, one or more digital assets in a digital assetcollection, etc.) used by one or more computer systems for deductivereasoning. In a metadata network, there is no digital assets—onlymetadata (e.g., metadata associated with one or more groups of digitalassets, metadata associated with one or more digital assets, etc.).Metadata networks differ from databases because, in general, a metadatanetwork enables deep connections between metadata using multipledimensions, which can be traversed for additionally deducedcorrelations. This deductive reasoning generally is not feasible in aconventional relational database without loading a significant number ofdatabase tables (e.g., hundreds, thousands, etc.). As such, conventionaldatabases may require a large amount of computational resources (e.g.,external data stores, remote servers, and their associated communicationtechnologies, etc.) to perform deductive reasoning. In contrast, ametadata network may be viewed, operated, and/or stored using fewercomputational resource requirements than the preceding example ofdatabases. Furthermore, metadata networks are dynamic resources thathave the capacity to learn, grow, and adapt as new information is addedto them. This is unlike databases, which are useful for accessingcross-referred information. While a database can be expanded withadditional information, the database remains an instrument for accessingthe cross-referred information that was put into it. Metadata networksdo more than access cross-referred information—they go beyond that andinvolve the extrapolation of data for inferring or determiningadditional data.

As explained in the preceding paragraph, a metadata network enables deepconnections between metadata using multiple dimensions in the metadatanetwork, which can be traversed for additionally deduced correlations.Each dimension in the metadata network may be viewed as a grouping ofmetadata based on metadata type. For example, a grouping of metadatacould be all time metadata assets in a metadata collection and anothergrouping could be all geo-position metadata assets in the same metadatacollection. Thus, for this example, a time dimension refers to all timemetadata assets in the metadata collection and a geo-position dimensionrefers to all geo-position metadata assets in the same metadatacollection. Furthermore, the number of dimensions can vary based onconstraints. Constraints include, but are not limited to, a desired usefor the metadata network, a desired level of detail, and/or theavailable metadata or computational resources used to implement themetadata network. For example, the metadata network can include only atime dimension, the metadata network can include all types of primitivemetadata dimensions, etc. With regard to the desired level of detail,each dimension can be further refined based on specificity of themetadata. That is, each dimension in the metadata network is a groupingof metadata based on metadata type and the granularity of informationdescribed by the metadata. For a first example, there can be two timedimensions in the metadata network, where a first time dimensionincludes all time metadata assets classified by week and the second timedimension includes all time metadata assets classified by month. For asecond example, there can be two geolocation dimensions in the metadatanetwork, where a first geolocation dimension includes all geolocationmetadata assets classified by type of establishment (e.g., home,business, etc.) and the second geolocation dimension includes allgeolocation metadata assets classified by country. The precedingexamples are merely illustrative and not restrictive. It is to beappreciated that the level of detail for dimensions can vary dependingon designer choice, application, available metadata, and/or availablecomputational resources.

The digital asset management module/logic can be configured to generatethe metadata network as a multidimensional network of the digital assetmetadata. As used herein, “multidimensional network” and its variationsrefer to a complex graph having multiple kinds of relationships. Amultidimensional network generally includes multiple nodes and edges.For one embodiment, the nodes represent metadata, and the edgesrepresent relationships or correlations between the metadata. Exemplarymultidimensional networks include, but are not limited to, edge labeledmulti-graphs, multipartite edge labeled multi-graphs and multilayernetworks.

For one embodiment, the nodes in the metadata network represent metadataassets found in the digital asset metadata. For example, each noderepresents a metadata asset associated with one or more digital assetsin a digital asset collection. For another example, each node representsa metadata asset associated with a group of digital assets in a digitalasset collection. As used herein, “metadata asset” and its variationrefer to metadata (e.g., a single instance of metadata, a group ofmultiple instances of metadata, etc.) Describing one or morecharacteristics of one or more digital assets in a digital assetcollection. As such, there can be primitive metadata asset, inferredmetadata asset, a primary primitive metadata asset, and exhilarateprimitive metadata asset, a primary inferred metadata asset, and/or andexhilarate inferred metadata asset. For a first example, a primitivemetadata asset refers to a time metadata asset describing a timeinterval between Jun. 1, 2016 and Jun. 3, 2016 when one or more digitalassets were captured. For a second example, a primitive metadata assetrefers to a geo-position metadata asset describing one or more latitudesand/or longitudes where one or more digital assets were captured. Foranother example, an inferred metadata asset refers to an event metadataasset describing a vacation in Paris, France between Jun. 5, 2016 andJun. 30, 2016 when one or more digital assets were captured.

In some embodiments, the metadata network includes two types of nodes:(i) moment nodes; and (ii) non-moment nodes. As used herein, a “moment”refers to a single event (as described by an event metadata asset) thatis associated with one or more digital assets. For example, a momentrefers to a vacation in Paris, France that lasted between Jun. 1, 2016and Jun. 9, 2016. For example, the moment can be used to identify one ormore digital assets (e.g., one image, a group of images, a video, agroup of videos, a song, a group of songs, etc.) Associated with thevacation in Paris, France that lasted between Jun. 1, 2016 and Jun. 9,2016 (and not with any other event). As used herein, a “moment node”refers to a node in a multidimensional network that represents a moment.Thus, a moment node referred to a primary inferred metadata assetrepresenting a single event associated with one or more digital assets.Primary inferred metadata as described above. As used herein, a“non-moment node” refers to a node in a multidimensional network thatdoes not represent a moment. Thus a non-moment node refers to at leastone of the following: (i) a primitive metadata asset associate with oneor more digital assets; or (ii) and inferred metadata asset associatedwith one or more digital assets that is not a moment (i.e., not an eventmetadata asset).

As used herein, an “event” in its variations refer to a situation or anactivity occurring at one or more locations during a specific timeinterval. An event includes, but is not limited to the following: agathering of one or more persons to perform an activity (e.g., aholiday, a vacation, a birthday, a dinner, a project, a workout session,etc.); a sporting event (e.g., an athletic competition etc.); a ceremony(e.g., a ritual of cultural significance that is performed on a specialoccasion, etc.); a meeting (e.g., a gathering of individuals engaged insome common interest, etc.); a festival (e.g., a gathering to celebratesome aspect in a community, etc.); a concert (e.g., an artisticperformance, etc.); a media event (e.g., an event created for publicity,etc.); and a party (e.g., a large social or recreational gathering,etc.).

The knowledge graph can be generated and used by the processing systemto perform digital asset management in accordance with an embodiment.Generating the metadata network, by the digital asset managementmodule/logic, can include defining nodes based on the primitive metadataand/or the inferred metadata associated with one or more digital assetsin the digital asset collection. As a digital asset managementmodule/logic identifies more primitive metadata with the metadataassociated with a digital asset collection and/or infers metadata fromat least the primitive metadata, the digital asset managementmodule/logic can generate additional nodes to represent the primitivemetadata and/or the inferred metadata. Furthermore, as the digital assetmanagement module/logic determines correlations between the nodes, thedigital asset management module/logic can create edges between thenodes. Two generation processes can be used to generate the metadatanetwork. The first generation process is initiated using a metadataasset that does not describe a moment (e.g., primary primitive metadataasset, and auxiliary primitive metadata asset, and auxiliary inferredmetadata asset, etc.). The second generation process is initiated usinga metadata asset that describes a moment (e.g., event metadata). Each ofthese generation processes are described below.

For the first generation process, the digital asset managementmodule/logic can generate a non-moment node to represent metadataassociated with the user, a consumer, or an owner of a digital assetcollection associated with the metadata network. For example a user canbe identified as Jean DuPont. One embodiment, the digital assetmanagement module/logic generates the non-moment node to represent themetadata provided by the user (e.g., Jean DuPont, etc.) via an inputdevice. For example, the user can add at least some of the metadataabout himself or herself to the metadata network via an input device. Inthis way, the digital asset management module/logic can use the metadatato correlate the user with other metadata acquired from a digital assetcollection for example, the metadata provided by the user Jean DuPontcan include one or more of his name's birthplace (which is Paris,France), his birthdate (which is May 27, 1991), his gender (which ismale), his relations status (which is married), his significant other orspouse (which is Marie Dupont), and his current residence (which is inKey West, Fla., USA).

With regard to the first generation process, at least some of themetadata can be predicted based on processing performed by the digitalasset management module/logic. The digital asset management module/logicmay predict metadata based on analysis of metadata access theapplication or metadata and a data store (e.g., memory). For example,the digital asset management module/logic may predict the metadata basedon analyzing information acquired by accessing the user's contacts (viaa contacts application), activities (the account or application or anorganization application should), contextual information (via sensors orperipherals) and/or social networking data (via social networkingapplication).

In some embodiments, the metadata includes, but is not limited to, othermetadata such as a user's relationship with others (e.g., familymembers, friends, coworkers, etc.), the user's workplaces (e.g., pastworkplaces, present workplaces, etc.), Places visited by the user (e.g.,previous places visited by the user, places that will be visited by theuser, etc.). For one embodiment, the metadata 210 can be used alone orin conjunction with other data to determine or infer at least one of thefollowing: (i) vacations or trips taken by Jean Dupont (e.g., nodes 231,etc.); days of the week (e.g., weekends, holidays, etc.); locationsassociated with Jean Dupont (e.g., nodes 231, 233, 235, etc.); JeanDupont's social group (e.g., his wife Marie Dupont represented in node227, etc.); Jean Dupont's professional or other groups (e.g., groupsbased on his occupation, etc.); types of places visited by Jean Dupont(e.g., Prime 114 restaurant represented in node 229, Home represented bynode 225, etc.); activities performed (e.g., a work-out session, etc.);etc. The preceding examples are illustrative and not restrictive.

For the second generation process, the metadata network may include atleast one moment node. For this second generation process, the digitalasset management module/logic generates the moment node to represent oneor more primary inferred metadata assets (e.g., an event metadata asset,etc.). The digital asset management module/logic can determine or inferthe primary inferred metadata (e.g., an event metadata asset, etc.) Fromone or more information, the metadata, or other data received fromexternal sources (e.g., whether application, calendar application,social networking application, address books, etc. Also, the digitalasset management module/logic may receive the primary inferred metadataassets, generate this metadata as the moment node and extract primaryprimitive metadata from the primary inferred metadata assets representedas the moment node.

The knowledge graph can be obtained from memory. Additionally, oralternatively, the metadata network can be generated by processingunits. The knowledge graph is created when a first metadata asset (e.g.,a moment node, non-moment node, etc.) is identified in themultidimensional network representing the metadata network. For oneembodiment, the first metadata can be represented as a moment node. Forthis embodiment the first metadata asset represents a first eventassociated with one or more digital assets. A second metadata asset isidentified or detected based at least on the first metadata asset. Thesecond metadata asset may be identified or detected in the metadatanetwork is a second node (e.g., a moment node in moment node, etc.)based on the first nose used to represent the first metadata asset insome embodiments, the second metadata asset is represented as a secondmoment node that differs from the first moment node. This is because thefirst moment node represents a first event metadata asset that describesa first a second event associated with one or more digital assets wherethe second moment node represents a second event metadata asset thatdescribes the second event associated with one or more digital assets.

In some embodiments, identifying the second metadata asset (e.g., amoment node, etc.) is performed by determining that the first and secondmetadata assets share a primary primitive metadata asset, a primaryinferred metadata asset, an auxiliary primitive metadata asset, and/oran auxiliary inferred metadata asset even though some of their metadatadiffer. Further explanation for using or generating a knowledge graphcan be found in U.S. patent application Ser. No. 15,391,276, filed Dec.27, 2016, entitled “Knowledge Graph Metadata Network Based on NotableMoments,” which is incorporated by reference in its entirety and for allpurposes.

FIG. 1 illustrates an exemplary schema 100 for disambiguation ofclustered location identifiers. A cluster can be a group of digitalasserts having similar properties such as location, date, time, orcategory. FIG. 1 illustrates a moment 102 in a knowledge graph for adigital asset. The exemplary technique determines that the moment 102can be identified using a plurality of metadata associated with thedigital assets such as the start time, the end time, and locationcoordinates of the digital assets. A “moment” refers to a singlelocation (as described by location metadata asset) that is associatedwith one or more digital assets. The disambiguation technique usesmetadata to determine that a category for the establishment where thedigital assets were captured. Here, the moment 102 is associated with abusiness 104.

The technique includes determining geographic location(s) for thedigital assets associated with the moment 102. A request for a pluralityof location identifiers within a target range of the geographic locationfor the cluster of digital assets can be transmitted to a web service.The technique can use time metadata associated with a plurality ofdigital assets to calculate the time a user was at the geographiclocation. The technique calculates a confidence metric as a measureindicating a degree of confidence that the first digital asset wasgenerated at a location corresponding to a location identifier 106received from the web service. If the confidence level exceeds aconfidence threshold, the knowledge graph can be updated to include theassociation between the first digital asset and the location identifier106.

In FIG. 1 , the location identifier 106 is the “SAP Center” which is anindoor stadium that hosts the San Jose Sharks professional ice hockeyteam. The location identifier 106 is provided an identifier. The webservice can also provide information about the location such as thevenue size that can be stored in the knowledge graph.

The location identifier 106 can be further reduced to a businesscategory 108. The business category 108 can provide the knowledge graphfurther details about the location identifier 106. By way of example,the business category 108 identified in FIG. 1 is a stadium 110.

FIG. 2 demonstrates an example of point of interest disambiguationtechniques. A moment 202 in a knowledge graph can include metadataindication location coordinates (e.g., geographic latitude and longitudecoordinates) that identified the location where a digital asset wascaptured. The moment 202 can also include temporal coordinates toidentify a start time and an end time or a digital asset (e.g., avideo). The temporal coordinates can be stored using universalcoordinated time (UTC). In some embodiments, the location and temporalcoordinates can be stored on the computing device. In some embodiments,the location and temporal coordinates can be stored in a cloud databaseaccessible by the computing device.

In some embodiments, the one or more processors can use the locationcoordinates to query a map database over a network such as the internet.The map database can return an address query 204. In FIG. 2 theexemplary address is “42 Avenue Anatole France, Paris.” The addressquery 204 can be further broken down into various individual components.The number 206 can return the numerical portion of the street address.In the example in FIG. 2 , the number returned is “42.” The street query208 can return the street name of the address query 204. In the examplein FIG. 2 , the street returned is “Avenue Anatole France.” The districtquery 210 can return the district for the address query 204. In theexample in FIG. 2 , the district returned is “16 arrondissement.” Thecity query 212 can return the name of the city of the address query 204.In the example in FIG. 2 , the city name returns is “Paris.” The countyquery 214 can return the county for the address query 204. In theexample in FIG. 2 , the county name returned is “Paris.” The state query216 can return the state for the address query 204. In the example inFIG. 2 , the state returned is “Ile-De-France.” The country query 218can return the country for the address query 204. In the example in FIG.2 , the country returned is “France.”

FIG. 3 illustrates an example user interface for digital asset search,specifically an example of a digital assets search page, in accordancewith at least one embodiment. The user interface 300 depicted in FIG. 3can be accessed by selecting the magnifying glass search icon on thedigital assets home page. The user interface 300 presents a search field302 in a first area of the display. The exemplary user interface 300depicts collections of digital assets for Events, People, Places(partially depicted), Categories (not depicted), and Groups (notdepicted). The Places, Categories, and Groups collects can be accessedby swiping down using a hand gesture on the touchscreen display.

The Events collection with associated collection identifier 304 presentsa plurality of multimedia content icons 306 and associated keyword tags308, where each multimedia content icon 306 and associated keyword tag308 represents a collection of digital assets stored in the digitalasset collection. The multimedia content icon 306 illustrates anexemplary thumbnail for the collection. Each digital asset includescorresponding metadata that associates the digital asset with an eventdescribed by the associated keyword tag 308. For example, the firstkeyword tag is labeled “Trips” and selecting the associated multimediacontent icon 306 for “Trips” would result in filtering the digitalassets to exclude any assets not related to an event labelled “Trips.”The other exemplary keyword tags for listed in FIG. 3 include“Concerts,” “Museum Visits” and “Birthdays.” In some embodiments,additional Events multimedia content icons 306 and associated keywordtags 308 can be displayed by scrolling to the right on the tough screendisplay through a hand gesture. The search engine references theknowledge graph to determine the multimedia content icons 306 andkeyword tags 308 based on a plurality of metadata for each of thedigital assets in the digital asset collection. The keyword tags 308 areassociated by the metadata of the digital assets in the digital assetcollection.

The People collection with associated content identifier 304 presents aplurality of multimedia content icons 306 and associated keyword tags308, where each multimedia content icon 306 and associated keyword tag308 represents a collection of digital assets stored in the digitalasset collection. Each digital asset contains metadata that associatesthe digital asset with a person or persons depicted in the multimediacontent icon 306 and associated keyword tag 308. For example, the firstmultimedia content icon 306, depicted in FIG. 3 , has an associatedkeyword tag 308 labeled “Mako” and selecting the associated multimediacontent icon 306 would result in filtering the digital assets to excludeany assets not related to “Mako.” FIG. 3 provides other exemplarycollections labelled “Benedikt,” “Ana,” and “Clem.” In some embodiments,additional People multimedia content icons 306 and associated keywordtags 308 can be displayed by scrolling to the right on the tough screendisplay through a hand gesture. In some embodiments, the keyword tag 308is associated with images of persons stored in a contact list of thecomputing device. In some embodiments, the keyword tag receivesinformation from image analysis and a correlation with other labeleddigital assets stored in the digital asset collection. In someembodiments, a user may identify the assets by storing them an a digitalasset folder that may be labeled with the identity of the person in theimage.

The Places collection with associated content identifier 304 is alsodisplayed. The user interface 300 depicts a plurality of icons allowingfor additional organizational tools for management of the digital assetcollection. The icons can include an “Photos” icon 310, a “Favorites”icon (labelled “For You”) 312, an “Albums” icon 314, and a “Search” icon316. As shown in FIG. 3 , the “Search” feature is selected. Selectingthe “albums” icon will direct the user to an albums feature for thedigital assets. Selecting the “Favorites” icon will direct the user to a“Favorites” page. Selecting “Photos” will direct the user to a pagewhich lists digital assets in chronological order.

FIG. 4 illustrates another example user interface for digital assetsearch, specifically a search entry page, in accordance with at leastone embodiment. FIG. 4 illustrates a user interface 400 for enteringsearch terms for a digital asset search. In FIG. 4 , the exemplary textentry 418 is “wan” which is the beginning of a search term for“Warriors” that can be entered into a search field 402. The text entry418 can be entered using a virtual keyboard 420. In some embodiments,the entry can be made via a voice command using a virtual assistant. Insome embodiment, the virtual keyboard can be entered by selecting thesearch field 402.

FIG. 5 illustrates another example user interface for digital assetsearch, specifically a suggestions page, in accordance with at least oneembodiment. The user interface 500 allows a user to further refine asearch of the digital asset collection. Similar to user interfaces 300and 400, a search field 502 is depicted in one area of the display. Uponselecting a category 536 such as “Dining” into the search field 502, thedigital asset search techniques will suggest possible search terms toreturn digital assets responsive to the category 536. Suggested searchterms 522 provide the user the ability to further refine the searchbased on metadata for the suggested search terms 522. In FIG. 5 , thesuggested search terms 522 include: the People icon and “Sonia.” Thesuggestion count 540 indicates that there are 74 digital assets withmetadata associated with “Dining” and “Sonia.” Selecting the “Sonia”search term will return digital assets associated with “Dining” and“Sonia.”

In FIG. 5 , the example user interface 500 suggests the following: thelocations “Santa Clara” with 1,606 digital assets and “Los Gatos,” with434 digital assets; the search term “Dinner,” with 2,001 digital assets;and the calendar for “Winter,” with 483 digital assets. The Photosidentifier 524 lists the type of digital assets with metadata associatedwith the search term entry 518. The Photos identifier 524 lists the typeof digital assets with metadata associated with the category 536 of“Dining.” The asset quantity number 525 indicates the number of digitalassets for the Photo identifier 524. In the example in FIG. 5 , thereare 2,238 photos responsive to the category 536 of “Dining.” Oneexemplary digital asset 526 is a digital photo of a meal. FIG. 5 alsodepicts exemplary digital asset thumbnails in two rows underneath thePhotos identifier 524. Underneath the exemplary digital asset thumbnailsis a virtual keyboard 520 for entry of the text into the search field502.

FIG. 6 illustrates example user interface for digital asset search,specifically a continuation of the user interface of FIG. 5 . Scrollingdownward using a hand gesture on the touch screen display of theelectronic device on the user interface 500 presents an additional userinterface 600. In addition to depicting the search field 602 in an areaof the display, the exemplary digital asset thumbnails in two rowsunderneath the Photos identifier 624, the user interface 600 presentsMoments indicator 628. Upon selecting a category 636 such as “Dining”into the search field 602, the digital asset search techniques willdisplays moments responsive to the category 636. A moment is acollection of digital assets associated with each other both temporallyand geographically. A plurality of moment multimedia content icons 630are also depicted in user interface 600. Each moment multimedia contenticon 630 depicts a representative image from the digital assetsassociated with the moment and a keyword tag 632 identifier thatidentifies a location and date associated with the digital assetsassociated with the moment. Selection of any one of these momentmultimedia content icons 630 would further limit the search of thedigital asset collection and return only digital assets that relate toboth the location and temporal limitation associated with the moment.For example, selecting the moment content icon 630 for “CupertinoVillage” would return digital assets with metadata associated a momentfor Cupertino Village captured on Aug. 22, 2018. FIG. 6 presents theadditional moments of “San Francisco Marriot Marquis” on Jul. 27, 2018and “San Francisco” on Jul. 26, 2018. The digital asset managementmodule/logic through access of the knowledge graph decides whichmultimedia content icons 630 and associated keyword tags 632 to displayand in which order the multimedia content icons 630 and associatedkeyword tags 632 are displayed. Further, the digital asset managementmodule/logic through access of the knowledge graph decides the range oftemporal metadata to include for a specific moment and the range oflocation metadata for identifying the location of the moment.

The user interface 600 depicts a plurality of icons allowing foradditional organizational tools for management of the digital assetcollection. The icons can include an “Photos” icon 610, a “Favorites”icon (labelled “For You”) 612, an “Albums” icon 614, and a “Search” icon616. As shown in FIG. 6 , the “Search” feature is selected. Selectingthe “albums” icon will direct the user to an albums feature for thedigital assets. Selecting the “Favorites” icon will direct the user to a“Favorites” page. Selecting “Photos” will direct the user to a pagewhich lists digital assets in chronological order.

FIG. 7 illustrates another example user interface for digital assetsearch, specifically a continuation of the results page of FIG. 6 , inaccordance with at least one embodiment. Scrolling downward using a handgesture on the touch screen display of the electronic device on the userinterface 600 presents an additional user interface 700. Upon selectinga category 736 such as “Dining” into the search field 702, the digitalasset search techniques will displays moments responsive to the category736. In addition to the moment multimedia content icons 730 andassociated keyword tags 732, asset counts 740 are display for eachmoment. The asset count identifies a count of the number of assetsresponsive to the metadata associated with that moment. The userinterface 700 depicts a plurality of icons allowing for additionalorganizational tools for management of the digital asset collection. Theicons can include an “Photos” icon 710, a “Favorites” icon (labelled“For You”) 712, an “Albums” icon 714, and a “Search” icon 716. As shownin FIG. 7 , the “Search” feature is selected. Selecting the “albums”icon will direct the user to an albums feature for the digital assets.Selecting the “Favorites” icon will direct the user to a “Favorites”page. Selecting “Photos” will direct the user to a page which listsdigital assets in chronological order.

FIG. 8 illustrates another example user interface for digital assetsearch, specifically a results page, in accordance with at least oneembodiment. FIG. 8 depicts a results page for a selection of a primarysearch category 836 and a secondary search category 838. In the examplein FIG. 8 , the user interface 800 depicts results digital assetsassociated with metadata for “Dining” and for “Iroriya.” The Photosidentifier 824 lists the type of digital assets with metadata associatedwith the primary search category 836 of “Dining” and the secondarysearch category of “Iroriya.” The asset quantity number 825 indicatesthe number of digital assets for the Photo identifier 824. In theexample in FIG. 8 , there are 243 photos responsive to the primarysearch category 836 of “Dining” and the secondary search category of“Iroriya.” FIG. 8 also depicts exemplary digital asset thumbnails in tworows underneath the Photos identifier 824. One exemplary digital asset826 is a digital photo of a meal.

A plurality of moment multimedia content icons 830 are also depicted inuser interface 800 underneath the Moments identifier 828. Each momentmultimedia content icon 830 depicts a representative image from thedigital assets associated with the moment and a keyword tag 832identifier that identifies a location and date associated with thedigital assets associated with the moment. Selection of any one of thesemoment multimedia content icons 830 would further limit the search ofthe digital asset collection and return only digital assets that relateto both the location and temporal limitation associated with the moment.For example, selecting the moment content icon 830 for “Santa Clara,Calif.” would return digital assets with metadata associated a momentfor Cupertino Village captured on Aug. 14, 2016. In addition to themoment multimedia content icons 830 and associated keyword tags 832,asset counts 840 are display for each moment. The asset count identifiesa count of the number of assets responsive to the metadata associatedwith that moment. The user interface 800 depicts a plurality of iconsallowing for additional organizational tools for management of thedigital asset collection. The icons can include an “Photos” icon 810, a“Favorites” icon (labelled “For You”) 812, an “Albums” icon 814, and a“Search” icon 816. As shown in FIG. 8 , the “Search” feature isselected. Selecting the “albums” icon will direct the user to an albumsfeature for the digital assets. Selecting the “Favorites” icon willdirect the user to a “Favorites” page. Selecting “Photos” will directthe user to a page which lists digital assets in chronological order.

FIG. 9 illustrates another example user interface 900 for digital assetsearch, specifically a results page, in accordance with at least oneembodiment. FIG. 9 depicts a results page for a selection of a primarysearch category 936. In the example in FIG. 9 , the user interface 900depicts results digital assets associated with metadata for “Chinese.”The Photos identifier 924 lists the type of digital assets with metadataassociated with the primary search category 836 of “Chinese.” The assetquantity number 925 indicates the number of digital assets for the Photoidentifier 924. In the example in FIG. 9 , there are 131 photosresponsive to the primary search category 936 of “Chinese.” FIG. 9 alsodepicts exemplary digital asset thumbnails in two rows underneath thePhotos identifier 924. One exemplary digital asset 926 is a digitalphoto of a meal.

A plurality of moment multimedia content icons 930 are also depicted inuser interface 900 underneath the Moments identifier 928. Each momentmultimedia content icon 930 depicts a representative image from thedigital assets associated with the moment and a keyword tag 932identifier that identifies a location and date associated with thedigital assets associated with the moment. Selection of any one of thesemoment multimedia content icons 930 would further limit the search ofthe digital asset collection and return only digital assets that relateto both the location and temporal limitation associated with the moment.For example, selecting the moment content icon 930 for “CupertinoVillage” would return digital assets with metadata associated a momentfor Cupertino Village captured on Aug. 22, 2016. In addition to themoment multimedia content icons 930 and associated keyword tags 932,asset counts 940 are displayed for each moment. The asset countidentifies a count of the number of assets responsive to the metadataassociated with that moment. The user interface 900 depicts a pluralityof icons allowing for additional organizational tools for management ofthe digital asset collection. The icons can include an “Photos” icon910, a “Favorites” icon (labelled “For You”) 912, an “Albums” icon 914,and a “Search” icon 916. As shown in FIG. 9 , the “Search” feature isselected. Selecting the “albums” icon will direct the user to an albumsfeature for the digital assets. Selecting the “Favorites” icon willdirect the user to a “Favorites” page. Selecting “Photos” will directthe user to a page which lists digital assets in chronological order.

FIG. 10 illustrates another example user interface for digital assetsearch, specifically a results page, in accordance with at least oneembodiment. FIG. 10 depicts a results page for a selection of a primarysearch category 1036. In the example in FIG. 10 , the user interface1000 depicts results digital assets associated with metadata for “NightClub.” FIG. 10 depicts exemplary digital asset thumbnails for the searchresults. FIG. 10 displays an exemplary digital asset 1026 is a digitalphoto at a night club. In addition to the moment multimedia contenticons 1030 and associated keyword tags 1032, asset counts 1040 aredisplayed for each moment. The asset count identifies a count of thenumber of assets responsive to the metadata associated with that moment.The user interface 1000 depicts a plurality of icons allowing foradditional organizational tools for management of the digital assetcollection. The icons can include an “Photos” icon 1010, a “Favorites”icon (labelled “For You”) 1012, an “Albums” icon 1014, and a “Search”icon 1016. As shown in FIG. 10 , the “Search” feature is selected.Selecting the “albums” icon will direct the user to an albums featurefor the digital assets. Selecting the “Favorites” icon will direct theuser to a “Favorites” page. Selecting “Photos” will direct the user to apage which lists digital assets in chronological order.

FIG. 11 another example user interface for digital asset search,specifically an example of keyword suggestion for an event, inaccordance with at least one embodiment. The user interface 1100 allowsa user to further refine a search of the digital asset collection.Similar to user interface 300, 400, 500, 600, 700, 800, 900, and 1000 asearch field 1102 is depicted in one area of the display. FIG. 11illustrates a text entry 1118 of “coache” into the search field 1102.The digital asset management module/logic presents one or moreadditional search suggestions 1122. By way of example, the searchsuggestions 1122 include “Coachella Music Festival 2018” and “CoachellaValley Music & Arts Festival.” By way of example, in FIG. 11 , thePhotos identifier 1124 lists the type of digital assets with metadataassociated with the text entry 1118 into the search field 1102. By wayof example, in FIG. 11 , the Photos identifier 1124 lists the type ofdigital assets with metadata associated with the text search entry 1118.The asset quantity number 1125 indicates the number of digital assetsfor the Photo identifier 1124. In the example in FIG. 11 , there are 25photos responsive to the “coache” text search entry 1118. FIG. 11presents the Top 8 digital assets 1126 of responsive to the text searchentry 1118. In some embodiment, the virtual keyboard 1120 can be enteredby selecting the search field 1102.

FIG. 12 illustrates another example user interface for digital assetsearch, specifically a videos results page, in accordance with at leastone embodiment. The user interface 1200 allows a user to further refinea search of the digital asset collection. Similar to user interface 300,400, 500, 600, 700, 800, 900, 1000, and 1100 a search field 1202 isdepicted in one area of the display. FIG. 12 illustrates a text entry1218 of “coache” and “vide” into the search field 1202. The digitalasset management module/logic presents one or more additional searchsuggestions 1222. By way of example, the search suggestions 1222 include“vide” and “Videos.” By way of example, in FIG. 12 , the Videosidentifier 1224 lists the type of digital assets with metadataassociated with the text entry 1218 into the search field 1202 and alsovideos. By way of example, in FIG. 12 , the Videos identifier 1224 liststhe type of digital assets with metadata associated with the text searchentry 1218. By way of example, there are two digital assets 1226, herevideos, responsive to the “Coachella” and “vide” search criteria. Insome embodiment, the virtual keyboard 1220 can be entered by selectingthe search field 1202.

FIG. 13 illustrates another example user interface for digital assetsearch, specifically an example of keyword suggestion, in accordancewith at least one embodiment. The user interface 900 allows a user tofurther refine a search of the digital asset collection. Similar to userinterface 300-1100, a search field 1302 is depicted in one area of thedisplay. Upon selection of one of the search suggestions 1322 thedigital asset management module/logic presents one or more additionalsearch suggestions 1322. By way of example in FIG. 13 , the “Museum”search selection 1336 is selected and is displayed in the search field1302. The Refine Search suggestions 1322 include a Person (“Mako”), aPlace (“Paris”), a Place (“California”), and a year (“2016”). By way ofexample, in FIG. 13 , the Photos identifier 1324 lists the type ofdigital assets with metadata associated with the search term selection1336. The asset quantity number 1325 indicates the number of digitalassets for the Photo identifier 1324. In the example in FIG. 13 , thereare 496 photos responsive to the “Museum” search selection 1336. FIG. 13presents the Top 8 digital assets 1326 of responsive to the selectedsearch criteria 1336. In some embodiment, the virtual keyboard 1320 canbe entered by selecting the search field 1302.

FIG. 14 illustrates another example user interface for digital assetsearch, specifically a results page, in accordance with at least oneembodiment. The user interface 1400 displays results for the selected“Museum” primary search criteria 1436 and “Greco Roman” selectedsecondary search criteria 1438. Similar to user interface 300-1300, asearch field 1402 is depicted in one area of the display. By way ofexample, in FIG. 14 , the Photos identifier 1424 lists the type ofdigital assets with metadata associated with the primary searchselection 1436 and the secondary search selection 1438. By way ofexample, in FIG. 14 , the Photos identifier 1424 lists the type ofdigital assets with metadata associated with the primary search termselection 1436 and the secondary search term 1438. The user interface1400 displays six digital assets. In addition, FIG. 14 also depicts aMoments indicator 1428. A moment multimedia content icon 1430 isdepicted. Each moment multimedia content icon 1430 depicts arepresentative image from the digital assets associated with the momentand a keyword tag 1432 identifier that identifies a location and dateassociated with the digital assets associated with the moment. Selectionof any one of these moment multimedia content icons 1430 would furtherlimit the search of the digital asset collection and return only digitalassets that relate to both the location and temporal limitationassociated with the moment. In FIG. 14 , the exemplary moment is “SanFrancisco, Calif.” from a concert from “Jul. 27, 2017.” In someembodiment, the virtual keyboard 1420 can be entered by selecting thesearch field 1402.

FIG. 15A and FIG. 15B illustrate a flow diagram 1500 to illustratetechniques for disambiguation location identifiers as described herein,according to at least one example.

At 1502, the technique comprises identifying a collection of digitalassets having at least a first digital asset and a second digital asset,the collection of digital assets being stored on a computing device. Thecollection of digital assets can be digital photos, videos, live photos,screen captures, etc. The digital assets can be stored in a memory of acomputing device. The techniques include using the properties ofclusters of digital assets to be able to disambiguate the location inwhich the digital asset was captured.

In some embodiments, the disambiguation process is accomplished duringthe node graphing process for the knowledge graph. In some embodiments,there is a nightly ingest of the metadata associated with the digitalassets captured during the previous day. The digital assets are groupedinto clustered for an efficient disambiguation process. In someembodiments, the location cluster can be relatively tight. In someembodiments, the best range for clustering considering precision andnumber of false positives is 20 meters.

At 1504, the techniques can include generating a consolidated addressfor a location cluster of digital assets comprising the first digitalasset and the second digital asset. In some embodiments, updating theknowledge graph includes developing consolidated addresses for themoments in the knowledge graph. As stated previously, a “consolidatedaddress” is a construct built on top of address edges and node in theknowledge graph. A consolidated address combines several address edgesthat point to the same place mark with a maximum time and distancelocation. Using consolidated address helps extend attendance time forusers visiting large venues. For example, if a user was capturingdigital assets at a large venue or if the assets' metadata is imprecise,for example asset 1 at coordinates 1; asset 2 at coordinates 2; andasset 3 at coordinate 3. The consolidated address would determine thatcoordinates 1, 2, and 3 are in close vicinity and time, and the digitalassets were likely captured at the same venue. Using a consolidatedaddress, the digital assets would be consolidated together and a moreaccurate attendance time (time between first digital asset and lastdigital asset) could be determined.

At 1506, the technique comprises determining a first geographic locationfor the first digital asset based at least in part on location metadataassociated with the first digital asset. Each digital asset has aplurality of associated metadata stored in the memory of the computingdevice. The metadata includes location metadata that can be determinedby capturing the device's location via GPS, or WiFi signal, or aplurality of other methods for calculating the geographic location of acomputing device or digital camera capturing the digital asset. Servicesare available that track the current location of the computing device.The location of the computing device can be saved overtime. The servicecan use GPS, Wi-Fi, cellular tower signals, or electronic paymentmethods to determine an accurate position of the computing device overtime. The location information can be accessed by the disambiguationtechniques to increase the confidence level of the event location. Insome embodiments, the first geographic location can be associated with acentroid for the digital asset cluster.

At 1508, the technique comprises determining a first time for the firstdigital asset based at least in part on time metadata associated withthe first digital asset. The time metadata can be captured from a clockincorporated in the computing device. In some embodiments, the time canbe stored in Universal Time Coordinates (UTC).

At 1510, the technique comprises calculating a distance range betweenthe first geographic location and a second geographic location, thesecond geographic location based at least in part on location metadataassociated with the second digital asset, the second digital asset beingwithin a target range of the event geographic location. The systemcalculates that there are two digital assets captured within a targetrange from each other, the system can calculate the distance range thatcan be used to determine based at least in part on the distance rangebetween the first geographic location, where the first digital asset wascaptured, and a second geographic location, where a second digital assetwas captured. In some embodiments, the distance range should be amaximum of 500 meters. In some embodiments, the distance range can bevaried depending on the category for the digital asset.

At 1512, the technique comprises transmitting a request, to a webservice, for a plurality of location identifiers within a target rangeof the first geographic location. In some embodiments, a web service canstore a plurality of information for location identifiers such asbusinesses and establishments. The web service can maintain a pluralityof information concerning the location identifiers including but notlimited to the name of the location, the operating hours of thelocation, the geographic address, historical information for previousbusinesses or establishments operating at the geographic location, atime range during which previous establishments operated at thegeographic location, and category of establishment or business. In someembodiments, the technique includes requesting a plurality ofinformation within a target range of the first geographic location. Insome embodiments, the target range can be 1500 meters. However, if anexcessive number of location identifiers are returned from the query thetarget range can be reduced. Alternatively, if no event identifiers arereturns from the query the target range can be increased. In someembodiments, the request can be made over a network such as theinternet. In some embodiments, the location identifiers can be cachedlocally on the computing device.

In some embodiments, the web service can return a top 3 or top 5suggested location identifier results for the location identifier. Eachof the suggested location identifiers can have a confidence levelassigned that provides a measure of confidence that the locationidentifier is the location where the digital asset was captured. If twoof the three location identifiers had a low confidence value and a thirdlocation identifier had a high confidence value, the locationidentifiers associated with the low confidence value would be droppedfrom the analysis. In some embodiments, the digital assets associatedwith the top 3 or top 5 location identifiers can be tagged with therespective location identifiers.

At 1514, the technique can include calculating a time range between thefirst time and a second time, the second time based at least in part ontime metadata associated with the second digital asset. The time rangecan be used as a measure to determine how long a user was at a businessor establishment for a location identifier. In some embodiments, thetime range can be extended either before or after event duration tocapture digital assets taken before or after the event. The time rangecan be measured in hours, minutes, and seconds. In some embodiments, thetime range may comprise only minutes or seconds.

In addition to using the time range to determine how long a user was ata business or an establishment, the time and date metadata can be usedto determine the historically accurate name of the location identifierfor the digital assets. For example, if a restaurant A changes namesafter several years to become restaurant B. If a digital asset iscaptured, the information from the map service will not only identifythe likely present location identifier for the first geographiclocation, but will recognize that the name changed names. If therestaurant's name changed at some point of time in the past, and thedigital assets were captured prior to the date of the location namechange, the techniques will return the name of the location business ofestablishment that is location that was at the location when the assetwas taken.

At 1516, the technique can include calculating a confidence metric forthe first digital asset indicating a degree of confidence that the firstdigital asset was generated at a location corresponding to at least oneof the plurality of location identifiers, the confidence metriccalculated in accordance with the distance range satisfying a minimumdistance and the time range satisfying a minimum duration. In someembodiments, the techniques include transmitting a request, to a secondlocation service, the second location service tracking a history ofgeographic locations for the computing device over time, the request tothe second location service requesting a length of time the computingdevice was located within a specified distance from the plurality oflocation identifiers within the target range of the first geographiclocation. The technique can include modifying the confidence metricbased at least in part on the length of time the computing device spentwithin the specified distance from the plurality of location identifierswithin the target range of the first geographic location. In someembodiments, if the second location service provides locationinformation showing that the computing device was at a geographiclocation corresponding to one or more location identifiers, and the timefor the visit is greater or equal to one hour with high confidence thenassign high confidence level to the specific location identifier for thefirst digital asset. In some embodiments, the confidence metrical canuse other information available to the computing device to improve theconfidence level. For example, in some embodiments the techniques canuse contact information, electronic payment information, phone callhistory, or internet searches for the name of the location for thelocation identifier. In some embodiments, natural language processingcan be used for improving the confidence metric. In some embodiments,calendar information can be used for correlating a visit to the locationidentifier thereby improving the confidence metric.

In some embodiments, the techniques include accessing the knowledgegraph to for a determination that metadata for the first digital assetare consistent at least in part with a meaning associated with thelocation identifier. The techniques can also include modifying theconfidence metric based at least in part on a correlation between themetadata for the first digital asset and the meaning associated with thelocation identifier. If range time is less than one hour but at least 30minutes, assign high confidence level to the specific locationidentifier for the first digital asset. If time range is matching, thecorrelated information should be enumerated over several points ofinterest if the meaning criteria matches for that POI. The meaningcriteria can be obtained by accessing the moment metadata for thedigital asset.

In some embodiments, the techniques include collecting the plurality oflocation identifiers within the range of the first geographic location.In some embodiments, the range is less than or equal to 50 meters. Thetechnique includes verifying that the time range exceeds the minimumduration. In some embodiments, the time range is greater than or equalto 30 minutes. The technique can further includes applying matchingtechniques to a plurality of metadata associated with the locationidentifiers. The technique can further include filtering the locationidentifiers based at least in part on a statistical model. Thetechniques can include modifying the confidence metric based at least inpart on applying the matching techniques and filtering the locationidentifiers.

In some embodiments, the techniques include accessing a telephone callhistory on the computing device to correlate a call to the location. Invarious embodiments, the techniques include modifying the confidencemetric based at least in part on a correlation between the location andthe telephone call.

At 1518, the technique can include associating the first digital assetwith at least one of the plurality of event identifiers based on adetermination that the confidence metric exceeds a threshold. In someembodiments, the threshold can change depending on the category of theevent. For example, if two location identifiers are assigned to acluster of digital assets because they are co-located at the samegeographic location, the technique can rely on further analysis of thecategory for the digital assets in the cluster. For example, a bar and ayoga studio may be co-located on the same floor of a given building. Thelocation information alone may not be sufficiently precise enough todisambiguate whether the digital assets are related to the bar or theyoga studio. Here, the scene classifications for the digital assets canbe used to determine whether the digital assets belong to the bar orstudio. For example, if the category is “studio” or “fitness” thecorrelation with information from the second may clarify that thedigital assets are related to the studio and that the digital assetswere likely captured at the studio. In addition, the technique can usethe time metadata for the digital asset to aid in disambiguation bychecking if the time matches the business hours. Also the time metadatacan be used to verify if the time duration is consistent for theestablishment. For example, a restaurant visit time duration may beconsiderably differently than a visit to a studio. Here, the Point ofInterest (POI) disambiguation will provide the concrete values in theknowledge graph to help with location disambiguation.

At 1520, the technique can include updating the knowledge graph storedin the computing device to include the association between the firstdigital asset and the at least one of the plurality event identifiers.

FIG. 16A and FIG. 16B illustrate a flow diagram 1600 to illustratecomputer readable medium techniques for disambiguation of locationidentifiers as described herein, according to at least one example. Thecomputer readable medium can store a plurality of instructions that,when executed by one or more processors of a computing device, cause theone or more processors to perform various operations.

At 1602, the operations comprise identifying a collection of digitalassets having at least a digital asset, the collection of digital assetsbeing stored on a computing device. The collection of digital assets canbe digital photos, videos, live photos, screen captures, etc. Thedigital assets can be stored in a memory of a computing device. Thetechniques include using the properties of clusters of digital assets tobe able to disambiguate the location in which the digital asset wascaptured. In some embodiments, updating the knowledge graph includesdeveloping consolidated addresses for the moments in the knowledgegraph. As stated previously, a “consolidated address” is a constructbuilt on top of address edges and node in the knowledge graph. Aconsolidated address combines several address edges that point to thesame place mark with a maximum time and distance location. Usingconsolidated address helps extend attendance time for users visitinglarge venues. For example, if a user was capturing digital assets at alarge venue, for example asset 1 at coordinates 1; asset 2 atcoordinates 2; and asset 3 at coordinate 3. The consolidated addresswould determine that coordinates 1, 2, and 3 are in close vicinity andtime, and the digital assets were likely captured at the same venue.Using a consolidated address, the digital assets would be consolidatedtogether and a more accurate attendance time (time between first digitalasset and last digital asset) could be determined.

In some embodiments, the disambiguation process is accomplished duringthe node graphing process for the knowledge graph. In some embodiments,there is a nightly ingest of the metadata associated with the digitalassets captured during the previous day. The digital assets are groupedinto clustered for an efficient disambiguation process. In someembodiments, the location cluster can be relatively tight. In someembodiments, the best range for clustering considering precision andnumber of false positives is 20 meters.

At 1604, the operations comprise determining a geographic location forthe digital asset based at least in part on location metadata associatedwith the digital asset. Each digital asset has a plurality of associatedmetadata stored in the memory of the computing device. The metadataincludes location metadata that can be determined by capturing thedevice's location via GPS, or Wi-Fi signal, or a plurality of othermethods for calculating the geographic location of a computing device ordigital camera capturing the digital asset. Services are available thattrack the current location of the computing device. The location of thecomputing device can be saved overtime. The service can use GPS, Wi-Fi,cellular tower signals, or electronic payment methods to determine anaccurate position of the computing device over time. The locationinformation can be accessed by the disambiguation techniques to increasethe confidence level of the event location. In some embodiments, thefirst geographic location can be associated with a centroid for thedigital asset cluster.

At 1606, the operations comprise determining a creation time for thedigital asset based at least in part on time metadata associated withthe digital asset. The time metadata can be captured from a clockincorporated in the computing device. In some embodiments, the creationtime can be stored in Universal Time Coordinates (UTC).

At 1608, the operations comprise generating a subset of the collectionof digital assets, the subset comprising only digital assets within alocation range of the geographic location and within a time range of thecreation time. The subset of the collection of digital assets can bestored in a memory of the computing device.

At 1610, the operations comprise transmitting a request, to a webservice, for a plurality of location identifiers within a target rangeof the first geographic location. In some embodiments, a web service canstore a plurality of information for location identifiers such asbusinesses and establishments. The web service can maintain a pluralityof information concerning the location identifiers including but notlimited to the name of the location, the operating hours of thelocation, the geographic address, historical information for previousbusinesses or establishments operating at the geographic location, atime range during which previous establishments operated at thegeographic location, and category of establishment or business. In someembodiments, the technique includes requesting a plurality ofinformation within a target range of the first geographic location. Insome embodiments, the target range can be 1500 meters. However, if anexcessive number of location identifiers are returned from the query thetarget range can be reduced. Alternatively, if no event identifiers arereturns from the query the target range can be increased. In someembodiments, the request can be made over a network such as theinternet. In some embodiments, the location identifiers can be cachedlocally on the computing device.

In some embodiments, the web service can return a top 3 or top 5suggested location identifier results for the location identifier. Eachof the suggested location identifiers can have a confidence levelassigned that provides a measure of confidence that the locationidentifier is the location where the digital asset was captured. If twoof the three location identifiers had a low confidence value and a thirdlocation identifier had a high confidence value, the locationidentifiers associated with the low confidence value would be droppedfrom the analysis. In some embodiments, the digital assets associatedwith the top 3 or top 5 location identifiers can be tagged with therespective location identifiers.

At 1612, the operations comprise calculating a distance range between afirst location of a plurality of locations for the plurality of locationidentifiers and the geographic location. In some embodiments, thedistance range should be a maximum of 500 meters. In some embodiments,the distance range can be varied depending on the category for thedigital asset.

At 1614, the operations comprise calculating a confidence metric for thedigital asset indicating a degree of confidence that the digital assetwas generated at a location corresponding to at least one of theplurality of location identifiers, the confidence metric calculated inaccordance with the distance range satisfying a minimum distance and thetime range satisfying a minimum duration. In some embodiments, thetechniques include transmitting a request, to a second location service,the second location service tracking a history of geographic locationsfor the computing device over time, the request to the second locationservice requesting a length of time the computing device was locatedwithin a specified distance from the plurality of location identifierswithin the target range of the geographic location. The technique caninclude modifying the confidence metric based at least in part on thelength of time the computing device spent within the specified distancefrom the plurality of location identifiers within the target range ofthe geographic location. In some embodiments, if the second locationservice provides location information showing that the computing devicewas at a geographic location corresponding to one or more locationidentifiers, and the time for the visit is greater or equal to one hourwith high confidence then assign high confidence level to the specificlocation identifier for the first digital asset. In some embodiments,the confidence metrical can use other information available to thecomputing device to improve the confidence level. For example, in someembodiments the techniques can use contact information, electronicpayment information, phone call history, or internet searches for thename of the location for the location identifier. In some embodiments,natural language processing can be used for improving the confidencemetric. In some embodiments, calendar information can be used forcorrelating a visit to the location identifier thereby improving theconfidence metric.

In some embodiments, the techniques include accessing the knowledgegraph to for a determination that metadata for the digital asset areconsistent at least in part with a meaning associated with the locationidentifier. The techniques can also include modifying the confidencemetric based at least in part on a correlation between the metadata forthe digital asset and the meaning associated with the locationidentifier. If range time is less than one hour but at least 30 minutes,assign high confidence level to the specific location identifier for thefirst digital asset. If time range is matching, the correlatedinformation should be enumerated over several points of interest if themeaning criterial matches for that POI. The meaning criteria can beobtained by accessing the moment metadata for the digital asset.

In some embodiments, the techniques include collecting the plurality oflocation identifiers within the range of the first geographic location.In some embodiments, the range is less than or equal to 50 meters. Thetechnique includes verifying that the time range exceeds the minimumduration. In some embodiments, the time range is greater than or equalto 30 minutes. The technique can further includes applying matchingtechniques to a plurality of metadata associated with the locationidentifiers. The technique can further include filtering the locationidentifiers based at least in part on a statistical model. Thetechniques can include modifying the confidence metric based at least inpart on applying the matching techniques and filtering the locationidentifiers.

In some embodiments, the techniques include accessing a telephone callhistory on the computing device to correlate a call to the location. Invarious embodiments, the techniques include modifying the confidencemetric based at least in part on a correlation between the location andthe telephone call.

At 1616, the operations comprise associating the subset of collectionthe digital assets with a first location identifier in accordance withthe confidence metric exceeding a confidence threshold. In someembodiments, the threshold can change depending on the category of theevent. For example, if two location identifiers are assigned to acluster of digital assets because they are co-located at the samegeographic location, the technique can rely on further analysis of thecategory for the digital assets in the cluster. For example, a bar and ayoga studio may be go-located on the same floor of a given building. Thelocation information alone may not be sufficiently precise enough todisambiguate whether the digital assets are related to the bar or theyoga studio. Here, the categories for the digital assets can be used todetermine whether the digital assets belong to the bar or studio. Forexample, if the category is “studio” or “fitness” the correlation withinformation from the second web may clarify that the digital assets arerelated to the studio and that the digital assets were likely capturedat the studio.

At 1618, the operations comprise updating a knowledge graph stored inthe computing device to include the association between each of thedigital assets of the subset of the collection of digital assets and thefirst location identifier.

FIG. 17 is a block diagram of an example device 1700, which can be amobile device that can be used to perform the disambiguation techniquesdescribed herein. Device 1700 generally includes computer-readablemedium 1702 or memory, a processing system 1704, an Input/Output (I/O)subsystem 1706, wireless circuitry 1708, and audio circuitry 1710including speaker 1750 and microphone 1752. These components may becoupled by one or more communication buses or signal lines 1703. Device1700 can be any portable electronic device, including a handheldcomputer, a tablet computer, a mobile phone, laptop computer, tabletdevice, media player, a wearable device, personal digital assistant(PDA), a multi-function device, a mobile phone, a portable gamingdevice, a car display unit, or the like, including a combination of twoor more of these items.

The device 1700 can be a multifunction device having a touch screen inaccordance with some embodiments. The touch screen optionally displaysone or more graphics within a user interface (UI). In some embodiments,a user is enabled to select one or more of the graphics by making agesture on the graphics, for example, with one or more fingers or one ormore styluses. In some embodiments, selection of one or more graphicsoccurs when the user breaks contact with the one or more graphics. Insome embodiments, the gesture optionally includes one or more taps, oneor more swipes (from left to right, right to left, upward and/ordownward) and/or a rolling of a finger (from right to left, left toright, upward and/or downward) that has made contact with device 1700.In some implementations or circumstances, inadvertent contact with agraphic does not select the graphic. For example, a swipe gesture thatsweeps over an application icon optionally does not select thecorresponding application when the gesture corresponding to selection isa tap. Device 1700 can optionally also include one or more physicalbuttons, such as “home” or a menu button. As the menu button is,optionally, used to navigate to any application in a set of applicationsthat are, optionally executed on the device 1700. Alternatively, in someembodiments, the menu button is implemented as a soft key in a graphicaluser interface displayed on touch screen.

The device 1700 can incorporate a display 1754. The display 1754 can bea LCD, OLED, AMOLED, Super AMOLED, TFT, IPS, or TFT-LCD that typicallycan be found a computing device. The display 1754 can incorporate atouchscreen display.

In one embodiment, device 1700 includes touch screen, menu button, pushbutton for powering the device on/off and locking the device, volumeadjustment button(s), Subscriber Identity Module (SIM) card slot, headset jack, and docking/charging external port. Push button is,optionally, used to turn the power on/off on the device by depressingthe button and holding the button in the depressed state for apredefined time interval; to lock the device by depressing the buttonand releasing the button before the predefined time interval haselapsed; and/or to unlock the device or initiate an unlock process. Inan alternative embodiment, device 1700 also accepts verbal input foractivation or deactivation of some functions through microphone. Device1700 also, optionally, includes one or more contact intensity sensorsfor detecting intensity of contacts on touch screen and/or one or moretactile output generators for generating tactile outputs for a user ofdevice 1700.

In one illustrative configuration, device 1700 may include at least onecomputer-readable medium 1702 or memory and one or more processing units(or processor(s)) 1718. Processor(s) 1718 may be implemented asappropriate in hardware, software, or combinations thereof.Computer-executable instruction or firmware implementations ofprocessor(s) 1718 may include computer-executable instructions writtenin any suitable programming language to perform the various functionsdescribed.

Computer-readable medium 1702 or memory may store program instructionsthat are loadable and executable on processor(s) 1718, as well as datagenerated during the execution of these programs. Depending on theconfiguration and type of device 1700, computer-readable medium 1702 ormemory may be volatile (such as random access memory (RAM)) and/ornon-volatile (such as read-only memory (ROM), flash memory, etc.).Device 1700 can have one or more memories. Device 1700 may also includeadditional removable storage and/or non-removable storage including, butnot limited to, magnetic storage, optical disks, and/or tape storage.The disk drives and their associated non-transitory computer-readablemedia may provide non-volatile storage of computer-readableinstructions, data structures, program modules, and other data for thedevices. In some implementations, computer-readable medium 1702 ormemory may include multiple different types of memory, such as staticrandom access memory (SRAM), dynamic random access memory (DRAM), orROM. While the volatile memory described herein may be referred to asRAM, any volatile memory that would not maintain data stored thereinonce unplugged from a host and/or power would be appropriate.

Computer-readable medium 1702 or memory and additional storage, bothremovable and non-removable, are all examples of non-transitorycomputer-readable storage media. For example, non-transitory computerreadable storage media may include volatile or non-volatile, removableor non-removable media implemented in any method or technology forstorage of information such as computer-readable instructions, datastructures, program modules, or other data. Computer-readable medium1702 or memory and additional storage are both examples ofnon-transitory computer storage media. Additional types of computerstorage media that may be present in device 1700 may include, but arenot limited to, phase-change RAM (PRAM), SRAM, DRAM, RAM, ROM,electrically erasable programmable read-only memory (EEPROM), flashmemory or other memory technology, compact disc read-only memory(CD-ROM), digital video disc (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium that can be used to store thedesired information and that can be accessed by device 1700.Combinations of any of the above should also be included within thescope of non-transitory computer-readable storage media. Based on thedisclosure and teachings provided herein, a person of ordinary skill inthe art can appreciate other ways and/or methods to implement thevarious embodiments. However, as noted above, computer-readable storagemedia does not include transitory media such as carrier waves or thelike.

Alternatively, computer-readable communication media may includecomputer-readable instructions, program modules, or other datatransmitted within a data signal, such as a carrier wave, or othertransmission. However, as used herein, computer-readable storage mediadoes not include computer-readable communication media.

Device 1700 may also contain wireless circuitry 1708 or communicationconnection(s) that allow device 1700 to communicate with a data store,another device or server, user terminals and/or other devices via one ormore networks. Such networks may include any one or a combination ofmany different types of networks, such as cable networks, the Internet,wireless networks, cellular networks, satellite networks, other privateand/or public networks, or any combination thereof. Device 1700 may alsoinclude I/O device(s) 1706, such as a touch input device, a keyboard, amouse, a pen, a voice input device, a display, a speaker, a printer,etc.

It should be apparent that the architecture shown in FIG. 17 is only oneexample of an architecture for device 1700, and that device 1700 canhave more or fewer components than shown, or a different configurationof components. The various components shown in FIG. 17 can beimplemented in hardware, software, or a combination of both hardware andsoftware, including one or more signal processing and/or applicationspecific integrated circuits.

Wireless circuitry 1708 is used to send and receive information over awireless link or network to one or more other devices' conventionalcircuitry such as an antenna system, an RF transceiver, one or moreamplifiers, a tuner, one or more oscillators, a digital signalprocessor, a CODEC chipset, memory, etc. Wireless circuitry 1708 can usevarious protocols, e.g., as described herein. For example, wirelesscircuitry 1708 can have one component for one wireless protocol (e.g.,Bluetooth®) and a separate component for another wireless protocol(e.g., UWB). Different antennas can be used for the different protocols.

Wireless circuitry 1708 is coupled to processing system 1704 viaperipherals interface 1716. Interface 1716 can include conventionalcomponents for establishing and maintaining communication betweenperipherals and processing system 1704. Voice and data informationreceived by wireless circuitry 1708 (e.g., in speech recognition orvoice command applications) is sent to one or more processors 1718 viaperipherals interface 1716. One or more processors 1718 are configurableto process various data formats for one or more application programs1734 stored on computer-readable medium 1702 or memory.

Peripherals interface 1716 couple the input and output peripherals ofthe device to processor(s) 1718 and computer-readable medium 1702. Oneor more processors 1718 communicate with computer-readable medium 1702via a controller 1720. Computer-readable medium 1702 can be any deviceor medium that can store code and/or data for use by one or moreprocessors 1718. Computer-readable medium 1702 can include a memoryhierarchy, including cache, main memory and secondary memory.

Device 1700 also includes a power system 1742 for powering the varioushardware components. Power system 1742 can include a power managementsystem, one or more power sources (e.g., battery, alternating current(AC)), a recharging system, a power failure detection circuit, a powerconverter or inverter, a power status indicator (e.g., a light emittingdiode (LED)) and any other components typically associated with thegeneration, management and distribution of power in mobile devices.

In some embodiments, device 1700 includes a camera 1744. In someembodiments, device 1700 includes sensors 1746. Sensors 1746 can includeaccelerometers, compasses, gyrometers, pressure sensors, audio sensors,light sensors, barometers, and the like. Sensors 1746 can be used tosense location aspects, such as auditory or light signatures of alocation.

In some embodiments, device 1700 can include a GPS receiver, sometimesreferred to as a GPS unit 1748. A mobile device can use a satellitenavigation system, such as the Global Positioning System (GPS), toobtain position information, timing information, altitude, or othernavigation information. During operation, the GPS unit can receivesignals from GPS satellites orbiting the Earth. The GPS unit analyzesthe signals to make a transit time and distance estimation. The GPS unitcan determine the current position (current location) of the mobiledevice. Based on these estimations, the mobile device can determine alocation fix, altitude, and/or current speed. A location fix can begeographical coordinates such as latitudinal and longitudinalinformation.

One or more processors 1718 run various software components stored inthe computer-readable medium 1702 to perform various functions fordevice 1700. In some embodiments, the software components include anoperating system 1722, a communication module 1724 (or set ofinstructions), a location module 1726 (or set of instructions), aknowledge graph 1728 that is used as part of ranging operation describedherein, and other applications 1734 (or set of instructions).

Operating system 1722 can be any suitable operating system, includingiOS, Mac OS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embeddedoperating system such as VxWorks. The operating system can includevarious procedures, sets of instructions, software components and/ordrivers for controlling and managing general system tasks (e.g., memorymanagement, storage device control, power management, etc.) andfacilitates communication between various hardware and softwarecomponents. An operating system 1722 is system software that managescomputer hardware and software resources and provides common servicesfor computer programs. For example, the operating system 1722 can managethe interaction between the user interface module and one or more userapplication(s). The various embodiments further can be implemented in awide variety of operating environments, which in some cases can includeone or more user computers, devices or processing devices which can beused to operate any of a number of applications. User or client devicescan include any of a number of general purpose personal computers, suchas desktop or laptop computers running a standard operating system, aswell as cellular, wireless and handheld devices running mobile softwareand capable of supporting a number of networking and messagingprotocols. Such a system also can include a number of workstationsrunning any of a variety of commercially-available operating systems andother known applications for purposes such as development and databasemanagement. These devices also can include other electronic devices,such as dummy terminals, thin-clients, gaming systems and other devicescapable of communicating via a network.

Communication module 1724 facilitates communication with other devicesover one or more external ports 1736 or via wireless circuitry 1708 andincludes various software components for handling data received fromwireless circuitry 1708 and/or external port 1736. External port 1736(e.g., USB, FireWire, Lightning connector, 60-pin connector, etc.) isadapted for coupling directly to other devices or indirectly over anetwork (e.g., the Internet, wireless LAN, etc.).

Location/motion module 1726 can assist in determining the currentposition (e.g., coordinates or other geographic location identifiers)and motion of device 1700. Modern positioning systems include satellitebased positioning systems, such as Global Positioning System (GPS),cellular network positioning based on “cell IDs,” and Wi-Fi positioningtechnology based on a Wi-Fi networks. GPS also relies on the visibilityof multiple satellites to determine a position estimate, which may notbe visible (or have weak signals) indoors or in “urban canyons.” In someembodiments, location/motion module 1726 receives data from GPS unit1748 and analyzes the signals to determine the current position of themobile device. In some embodiments, location/motion module 1726 candetermine a current location using Wi-Fi or cellular locationtechnology. For example, the location of the mobile device can beestimated using knowledge of nearby cell sites and/or Wi-Fi accesspoints with knowledge also of their locations. Information identifyingthe Wi-Fi or cellular transmitter is received at wireless circuitry 1708and is passed to location/motion module 1726. In some embodiments, thelocation module receives the one or more transmitter IDs. In someembodiments, a sequence of transmitter IDs can be compared with areference database (e.g., Cell ID database, Wi-Fi reference database)that maps or correlates the transmitter IDs to position coordinates ofcorresponding transmitters, and computes estimated position coordinatesfor device 1700 based on the position coordinates of the correspondingtransmitters. Regardless of the specific location technology used,location/motion module 1726 receives information from which a locationfix can be derived, interprets that information, and returns locationinformation, such as geographic coordinates, latitude/longitude, orother location fix data.

In some embodiments, a digital asset management module/logic obtains orgenerates a knowledge graph 1728 metadata network (hereinafter“knowledge graph”) associated with a collection of digital assets. Themetadata network can comprise of correlated metadata assets describingcharacteristics associated with digital assets in the digital assetcollection. Each metadata asset can describe a characteristic associatedwith one or more digital assets in the digital asset collection. In anon-limiting example, a metadata asset can describe a characteristicassociated with multiple digital assets in the digital asset collection.Each metadata asset can be represented as a node in the metadatanetwork. A metadata asset can be correlated with at least one othermetadata asset. Each correlation between metadata assets can berepresented as an edge in the metadata network that is between the nodesrepresenting the correlated metadata assets. In some embodiments, thedigital asset management module/logic identifies a first metadata assetin the metadata network. The digital asset management module/logic canalso identify a second metadata asset based on at least the firstmetadata asset. In some embodiments, the digital asset managementmodule/logic causes one or more digital assets with the first and/orsecond metadata assets to be presented via an output device.

In some embodiments, the digital asset management module/logic 1758 canenable the system to generate and use and knowledge graph 1728 of thedigital asset metadata as a multidimensional network. The digital assetmanagement module/logic 1758 can obtain or receive a collection ofdigital asset metadata associated with the digital asset collection. Thedigital assets stored in the digital asset collection includes, but isnot limited to, the following: image media (e.g., still or animatedimage, etc.); audio media (e.g., a digital sound file); text media(e.g., an e-book, etc.); video media (e.g., a movie, etc.); and hapticmedia (e.g., vibrations or motions provided in connection with othermedia, etc.). The examples of digitized data above can be combined toform multimedia (e.g., an animated movie, a videogame etc.). A singledigital asset refers to a single instance of digitized data (e.g., animage, a song, a movie, etc.).

The disambiguation module 1760 comprises instructions in thecomputer-readable medium 1702 or memory of the computing device 1700that performs the one or more techniques for disambiguation locationidentifiers.

The one or more applications programs 1734 on the mobile device caninclude any applications installed on the device 1700, including withoutlimitation, a browser, address book, contact list, email, instantmessaging, word processing, keyboard emulation, widgets, JAVA-enabledapplications, encryption, digital rights management, voice recognition,voice replication, a music player (which plays back recorded musicstored in one or more files, such as MP3 or AAC files), etc.

There may be other modules or sets of instructions (not shown), such asa graphics module, a time module, etc. For example, the graphics modulecan include various conventional software components for rendering,animating and displaying graphical objects (including without limitationtext, web pages, icons, digital images, animations and the like) on adisplay surface. In another example, a timer module can be a softwaretimer. The timer module can also be implemented in hardware. The timemodule can maintain various timers for any number of events.

The I/O subsystem 1706 can be coupled to a display system (not shown),which can be a touch-sensitive display. The display system displaysvisual output to the user in a GUI. The visual output can include text,graphics, video, and any combination thereof. Some or all of the visualoutput can correspond to user-interface objects. A display can use LED(light emitting diode), LCD (liquid crystal display) technology, or LPD(light emitting polymer display) technology, although other displaytechnologies can be used in other embodiments.

In some embodiments, I/O subsystem 1706 can include a display and userinput devices such as a keyboard, mouse, and/or track pad. In someembodiments, I/O subsystem 1706 can include a touch-sensitive display. Atouch-sensitive display can also accept input from the user based onhaptic and/or tactile contact. In some embodiments, a touch-sensitivedisplay forms a touch-sensitive surface that accepts user input. Thetouch-sensitive display/surface (along with any associated modulesand/or sets of instructions in the computer-readable medium 1702)detects contact (and any movement or release of the contact) on thetouch-sensitive display and converts the detected contact intointeraction with user-interface objects, such as one or more soft keys,that are displayed on the touch screen when the contact occurs. In someembodiments, a point of contact between the touch-sensitive display andthe user corresponds to one or more digits of the user. The user canmake contact with the touch-sensitive display using any suitable objector appendage, such as a stylus, pen, finger, and so forth. Atouch-sensitive display surface can detect contact and any movement orrelease thereof using any suitable touch sensitivity technologies,including capacitive, resistive, infrared, and surface acoustic wavetechnologies, as well as other proximity sensor arrays or other elementsfor determining one or more points of contact with the touch-sensitivedisplay.

Further, the I/O subsystem can be coupled to one or more other physicalcontrol devices (not shown), such as pushbuttons, keys, switches, rockerbuttons, dials, slider switches, sticks, LEDs, etc., for controlling orperforming various functions, such as power control, speaker volumecontrol, ring tone loudness, keyboard input, scrolling, hold, menu,screen lock, clearing and ending communications and the like. In someembodiments, in addition to the touch screen, device 1700 can include atouchpad (not shown) for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device that, unlike the touch screen, does not display visualoutput. The touchpad can be a touch-sensitive surface that is separatefrom the touch-sensitive display or an extension of the touch-sensitivesurface formed by the touch-sensitive display.

In some embodiments, some or all of the operations described herein canbe performed using an application executing on the user's device.Circuits, logic modules, processors, and/or other components may beconfigured to perform various operations described herein. Those skilledin the art can appreciate that, depending on implementation, suchconfiguration can be accomplished through design, setup,interconnection, and/or programming of the particular components andthat, again depending on implementation, a configured component might ormight not be reconfigurable for a different operation. For example, aprogrammable processor can be configured by providing suitableexecutable code; a dedicated logic circuit can be configured by suitablyconnecting logic gates and other circuit elements; and so on.

Most embodiments utilize at least one network that would be familiar tothose skilled in the art for supporting communications using any of avariety of commercially-available protocols, such as TCP/IP, OSI, FTP,UPnP, NFS, CIFS, and AppleTalk. The network can be, for example, a localarea network, a wide-area network, a virtual private network, theInternet, an intranet, an extranet, a public switched telephone network,an infrared network, a wireless network, and any combination thereof.

In embodiments utilizing a network server, the network server can runany of a variety of server or mid-tier applications, including HTTPservers, FTP servers, CGI servers, data servers, Java servers, andbusiness application servers. The server(s) also may be capable ofexecuting programs or scripts in response requests from user devices,such as by executing one or more applications that may be implemented asone or more scripts or programs written in any programming language,such as Java®, C, C# or C++, or any scripting language, such as Perl,Python or TCL, as well as combinations thereof. The server(s) may alsoinclude database servers, including without limitation thosecommercially available from Oracle®, Microsoft®, Sybase®, and IBM®.

Such programs may also be encoded and transmitted using carrier signalsadapted for transmission via wired, optical, and/or wireless networksconforming to a variety of protocols, including the Internet. As such, acomputer readable medium according to an embodiment of the presentinvention may be created using a data signal encoded with such programs.Computer readable media encoded with the program code may be packagedwith a compatible device or provided separately from other devices(e.g., via Internet download). Any such computer readable medium mayreside on or within a single computer product (e.g. a hard drive, a CD,or an entire computer system), and may be present on or within differentcomputer products within a system or network. A computer system mayinclude a monitor, printer, or other suitable display for providing anyof the results mentioned herein to a user.

The environment can include a variety of data stores and other memoryand storage media as discussed above. These can reside in a variety oflocations, such as on a storage medium local to (and/or resident in) oneor more of the computers or remote from any or all of the computersacross the network. In a particular set of embodiments, the informationmay reside in a storage-area network (SAN) familiar to those skilled inthe art. Similarly, any necessary files for performing the functionsattributed to the computers, servers or other network devices may bestored locally and/or remotely, as appropriate. Where a system includescomputerized devices, each such device can include hardware elementsthat may be electrically coupled via a bus, the elements including, forexample, at least one central processing unit (CPU), at least one inputdevice (e.g., a mouse, keyboard, controller, touch screen or keypad),and at least one output device (e.g., a display device, printer orspeaker). Such a system may also include one or more storage devices,such as disk drives, optical storage devices, and solid-state storagedevices such as RAM or ROM, as well as removable media devices, memorycards, flash cards, etc.

Such devices also can include a computer-readable storage media reader,a communications device (e.g., a modem, a network card (wireless orwired), an infrared communication device, etc.), and working memory asdescribed above. The computer-readable storage media reader can beconnected with, or configured to receive, a non-transitorycomputer-readable storage medium, representing remote, local, fixed,and/or removable storage devices as well as storage media fortemporarily and/or more permanently containing, storing, transmitting,and retrieving computer-readable information. The system and variousdevices also typically can include a number of software applications,modules, services or other elements located within at least one workingmemory device, including an operating system and application programs,such as a client application or browser. It should be appreciated thatalternate embodiments may have numerous variations from that describedabove. For example, customized hardware might also be used and/orparticular elements might be implemented in hardware, software(including portable software, such as applets) or both. Further,connection to other devices such as network input/output devices may beemployed.

Any of the software components or functions described in thisapplication may be implemented as software code to be executed by aprocessor using any suitable computer language such as, for example,Java, C, C++, C#, Objective-C, Swift, or scripting language such as Perlor Python using, for example, conventional or object-orientedtechniques. The software code may be stored as a series of instructionsor commands on a computer readable medium for storage and/ortransmission. A suitable non-transitory computer readable medium caninclude random access memory (RAM), a read only memory (ROM), a magneticmedium such as a hard-drive or a floppy disk, or an optical medium, suchas a compact disk (CD) or DVD (digital versatile disk), flash memory,and the like. The computer readable medium may be any combination ofsuch storage or transmission devices.

Computer programs incorporating various features of the presentdisclosure may be encoded on various computer readable storage media;suitable media include magnetic disk or tape, optical storage media,such as compact disk (CD) or DVD (digital versatile disk), flash memory,and the like. Computer readable storage media encoded with the programcode may be packaged with a compatible device or provided separatelyfrom other devices. In addition, program code may be encoded andtransmitted via wired optical, and/or wireless networks conforming to avariety of protocols, including the Internet, thereby allowingdistribution, e.g., via Internet download. Any such computer readablemedium may reside on or within a single computer product (e.g. a solidstate drive, a hard drive, a CD, or an entire computer system), and maybe present on or within different computer products within a system ornetwork. A computer system may include a monitor, printer, or othersuitable display for providing any of the results mentioned herein to auser.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the disclosure asset forth in the claims.

As described above, one aspect of the present technology is thegathering and use of data available from various sources to displayrectangular content in non-rectangular areas. The present disclosurecontemplates that in some instances, this gathered data may includepersonal information data that uniquely identifies or can be used tocontact or locate a specific person. Such personal information data caninclude demographic data, location-based data, telephone numbers, emailaddresses, twitter ID's, home addresses, data or records relating to auser's health or level of fitness (e.g., vital signs measurements,medication information, exercise information), date of birth, or anyother identifying or personal information.

The present disclosure recognizes that the use of such personalinformation data, in the present technology, can be used to the benefitof users. For example, the personal information data can be used displayinformation in a non-rectangular display area. Accordingly, use of suchpersonal information data can be presented to a user on the display.Further, other uses for personal information data that benefit the userare also contemplated by the present disclosure. For instance, healthand fitness data may be used to provide insights into a user's generalwellness, or may be used as positive feedback to individuals usingtechnology to pursue wellness goals.

The present disclosure contemplates that the entities responsible forthe collection, analysis, disclosure, transfer, storage, or other use ofsuch personal information data will comply with well-established privacypolicies and/or privacy practices. In particular, such entities shouldimplement and consistently use privacy policies and practices that aregenerally recognized as meeting or exceeding industry or governmentalrequirements for maintaining personal information data private andsecure. Such policies should be easily accessible by users, and shouldbe updated as the collection and/or use of data changes. Personalinformation from users should be collected for legitimate and reasonableuses of the entity and not shared or sold outside of those legitimateuses. Further, such collection/sharing should occur after receiving theinformed consent of the users. Additionally, such entities shouldconsider taking any needed steps for safeguarding and securing access tosuch personal information data and ensuring that others with access tothe personal information data adhere to their privacy policies andprocedures. Further, such entities can subject themselves to evaluationby third parties to certify their adherence to widely accepted privacypolicies and practices. In addition, policies and practices should beadapted for the particular types of personal information data beingcollected and/or accessed and adapted to applicable laws and standards,including jurisdiction-specific considerations. For instance, in the US,collection of or access to certain health data may be governed byfederal and/or state laws, such as the Health Insurance Portability andAccountability Act (HIPAA); whereas health data in other countries maybe subject to other regulations and policies and should be handledaccordingly. Hence different privacy practices should be maintained fordifferent personal data types in each country.

Despite the foregoing, the present disclosure also contemplatesembodiments in which users selectively block the use of, or access to,personal information data. That is, the present disclosure contemplatesthat hardware and/or software elements can be provided to prevent orblock access to such personal information data. For example, in the caseof bounding path techniques, the present technology can be configured toallow users to select to “opt in” or “opt out” of participation in thecollection of personal information data during registration for servicesor anytime thereafter. In another example, users can select not toprovide personal information to be displayed in non-rectangular areas.In yet another example, users can select to limit amount of personaldata is maintained or entirely prohibit the display of personal data. Inaddition to providing “opt in” and “opt out” options, the presentdisclosure contemplates providing notifications relating to the accessor use of personal information. For instance, a user may be notifiedupon downloading an app that their personal information data will beaccessed and then reminded again just before personal information datais accessed by the app.

Moreover, it is the intent of the present disclosure that personalinformation data should be managed and handled in a way to minimizerisks of unintentional or unauthorized access or use. Risk can beminimized by limiting the collection of data and deleting data once itis no longer needed. In addition, and when applicable, including incertain health related applications, data de-identification can be usedto protect a user's privacy. De-identification may be facilitated, whenappropriate, by removing specific identifiers (e.g., date of birth,etc.), controlling the amount or specificity of data stored (e.g.,collecting location data a city level rather than at an address level),controlling how data is stored (e.g., aggregating data across users),and/or other methods.

Therefore, although the present disclosure broadly covers use ofpersonal information data to implement one or more various disclosedembodiments, the present disclosure also contemplates that the variousembodiments can also be implemented without the need for accessing suchpersonal information data. That is, the various embodiments of thepresent technology are not rendered inoperable due to the lack of all ora portion of such personal information data. For example, content can beselected and delivered to users by inferring preferences based onnon-personal information data or a bare minimum amount of personalinformation, such as the content being requested by the deviceassociated with a user, other non-personal information available to thebounding path techniques, or publicly available information.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the disclosure asset forth in the claims.

Other variations are within the spirit of the present disclosure. Thus,while the disclosed techniques are susceptible to various modificationsand alternative constructions, certain illustrated embodiments thereofare shown in the drawings and have been described above in detail. Itshould be understood, however, that there is no intention to limit thedisclosure to the specific form or forms disclosed, but on the contrary,the intention is to cover all modifications, alternative constructionsand equivalents falling within the spirit and scope of the disclosure,as defined in the appended claims.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing the disclosed embodiments (especially in thecontext of the following claims) are to be construed to cover both thesingular and the plural, unless otherwise indicated herein or clearlycontradicted by context. The terms “comprising,” “having,” “including,”and “containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to,”) unless otherwise noted. The term“connected” is to be construed as partly or wholly contained within,attached to, or joined together, even if there is something intervening.The phrase “based on” should be understood to be open-ended, and notlimiting in any way, and is intended to be interpreted or otherwise readas “based at least in part on,” where appropriate. Recitation of rangesof values herein are merely intended to serve as a shorthand method ofreferring individually to each separate value falling within the range,unless otherwise indicated herein, and each separate value isincorporated into the specification as if it were individually recitedherein. All methods described herein can be performed in any suitableorder unless otherwise indicated herein or otherwise clearlycontradicted by context. The use of any and all examples, or exemplarylanguage (e.g., “such as”) provided herein, is intended merely to betterilluminate embodiments of the disclosure and does not pose a limitationon the scope of the disclosure unless otherwise claimed. No language inthe specification should be construed as indicating any non-claimedelement as essential to the practice of the disclosure.

Disjunctive language such as the phrase “at least one of X, Y, or Z,”unless specifically stated otherwise, is otherwise understood within thecontext as used in general to present that an item, term, etc., may beeither X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z).Thus, such disjunctive language is not generally intended to, and shouldnot, imply that certain embodiments require at least one of X, at leastone of Y, or at least one of Z to each be present. Additionally,conjunctive language such as the phrase “at least one of X, Y, and Z,”unless specifically stated otherwise, should also be understood to meanX, Y, Z, or any combination thereof, including “X, Y, and/or Z.”

Preferred embodiments of this disclosure are described herein, includingthe best mode known to the inventors for carrying out the disclosure.Variations of those preferred embodiments may become apparent to thoseof ordinary skill in the art upon reading the foregoing description. Theinventors expect skilled artisans to employ such variations asappropriate, and the inventors intend for the disclosure to be practicedotherwise than as specifically described herein. Accordingly, thisdisclosure includes all modifications and equivalents of the subjectmatter recited in the claims appended hereto as permitted by applicablelaw. Moreover, any combination of the above-described elements in allpossible variations thereof is encompassed by the disclosure unlessotherwise indicated herein or otherwise clearly contradicted by context.

All references, including publications, patent applications, andpatents, cited herein are hereby incorporated by reference to the sameextent as if each reference were individually and specifically indicatedto be incorporated by reference and were set forth in its entiretyherein.

What is claimed is:
 1. A method performed by one of more processors of acomputing device, comprising: identifying a collection of digital assetshaving at least a first digital asset and a second digital asset, thecollection of digital assets being stored on the computing device;determining a first geographic location for a location cluster ofdigital assets comprising the first digital asset and the second digitalasset based, at least in part, on location metadata associated with thefirst digital asset; determining a location identifier for the firstgeographic location, wherein the location identifier is within a targetrange of the first geographic location; calculating a confidence metricfor the first digital asset indicating a degree of confidence that thefirst digital asset was generated at a location corresponding to thelocation identifier, wherein calculating the confidence metric for thefirst digital asset comprises accessing a knowledge graph stored in thecomputing device for a determination that the location metadataassociated with the first digital asset is consistent, at least in part,with a meaning associated with the location identifier; and associatingthe first digital asset with the location identifier, in accordance withthe confidence metric exceeding a confidence threshold.
 2. The method ofclaim 1, further comprising: generating a consolidated address for thelocation cluster of digital assets comprising the first digital assetand the second digital asset.
 3. The method of claim 1, furthercomprising: determining a first time for the first digital asset based,at least in part, on time metadata associated with the first digitalasset; and calculating a time range between the first time and a secondtime, the second time based, at least in part, on time metadataassociated with the second digital asset, wherein calculating theconfidence metric is further based on the time range satisfying aminimum duration.
 4. The method of claim 1, further comprising:calculating a distance range between the first geographic location and asecond geographic location, the second geographic location based, atleast in part, on location metadata associated with the second digitalasset, wherein calculating the confidence metric is further based on thedistance range satisfying a minimum distance.
 5. The method of claim 1,further comprising: updating the knowledge graph stored in the computingdevice to include the association between the first digital asset andthe location identifier.
 6. The method of claim 1, further comprising:accessing a telephone call history on the computing device to correlatea call to the location identifier.
 7. The method of claim 1, furthercomprising: associating the second digital asset with the locationidentifier, in accordance with a determination that the confidencemetric exceeds the confidence threshold.
 8. A computing device,comprising: one or more memories; and one or more processors incommunication with the one or more memories and configured to executeinstructions stored in the one or more memories to: identify acollection of digital assets having at least a first digital asset and asecond digital asset, the collection of digital assets being stored onthe computing device; determine a first geographic location for alocation cluster of digital assets comprising the first digital assetand the second digital asset based, at least in part, on locationmetadata associated with the first digital asset; determine a locationidentifier for the first geographic location, wherein the locationidentifier is within a target range of the first geographic location;calculate a confidence metric for the first digital asset indicating adegree of confidence that the first digital asset was generated at alocation corresponding to the location identifier, wherein calculatingthe confidence metric for the first digital asset comprises accessing aknowledge graph stored in the computing device for a determination thatthe location metadata associated with the first digital asset isconsistent, at least in part, with a meaning associated with thelocation identifier; and associate the first digital asset with thelocation identifier, in accordance with the confidence metric exceedinga confidence threshold.
 9. The computing device of claim 8, wherein theone or more processors are further configured to execute theinstructions to: determine a first time for the first digital assetbased, at least in part, on time metadata associated with the firstdigital asset; and calculate a time range between the first time and asecond time, the second time based, at least in part, on time metadataassociated with the second digital asset, wherein calculating theconfidence metric is further based on the time range satisfying aminimum duration.
 10. The computing device of claim 8, wherein the oneor more processors are further configured to execute the instructionsto: calculate a distance range between the first geographic location anda second geographic location, the second geographic location based, atleast in part, on location metadata associated with the second digitalasset, wherein calculating the confidence metric is further based on thedistance range satisfying a minimum distance.
 11. The computing deviceof claim 8, wherein the one or more processors are further configured toexecute the instructions to: update the knowledge graph stored in thecomputing device to include the association between the first digitalasset and the location identifier.
 12. The computing device of claim 8,wherein the one or more processors are further configured to execute theinstructions to: access a telephone call history on the computing deviceto correlate a call to the location identifier.
 13. The computing deviceof claim 8, wherein the one or more processors are further configured toexecute the instructions to: associate the second digital asset with thelocation identifier, in accordance with a determination that theconfidence metric exceeds the confidence threshold.
 14. A non-transitorycomputer-readable medium storing a plurality of instructions that, whenexecuted by one or more processors of a computing device, cause the oneor more processors to perform operations comprising: identifying acollection of digital assets having at least a first digital asset and asecond digital asset, the collection of digital assets being stored onthe computing device; determining a first geographic location for alocation cluster of digital assets comprising the first digital assetand the second digital asset based, at least in part, on locationmetadata associated with the first digital asset; determining a locationidentifier for the first geographic location, wherein the locationidentifier is within a target range of the first geographic location;calculating a confidence metric for the first digital asset indicating adegree of confidence that the first digital asset was generated at alocation corresponding to the location identifier, wherein calculatingthe confidence metric for the first digital asset comprises accessing aknowledge graph stored in the computing device for a determination thatthe location metadata associated with the first digital asset isconsistent, at least in part, with a meaning associated with thelocation identifier; and associating the first digital asset with thelocation identifier, in accordance with the confidence metric exceedinga confidence threshold.
 15. The non-transitory computer-readable mediumof claim 14, wherein the instructions cause the one or more processorsto perform operations, further comprising: generating a consolidatedaddress for the location cluster of digital assets comprising the firstdigital asset and the second digital asset.
 16. The non-transitorycomputer-readable medium of claim 14, wherein the instructions cause theone or more processors to perform operations, further comprising:determining a first time for the first digital asset based, at least inpart, on time metadata associated with the first digital asset; andcalculating a time range between the first time and a second time, thesecond time based, at least in part, on time metadata associated withthe second digital asset, wherein calculating the confidence metric isfurther based on the time range satisfying a minimum duration.
 17. Thenon-transitory computer-readable medium of claim 14, wherein theinstructions cause the one or more processors to perform operations,further comprising: calculating a distance range between the firstgeographic location and a second geographic location, the secondgeographic location based, at least in part, on location metadataassociated with the second digital asset, wherein calculating theconfidence metric is further based on the distance range satisfying aminimum distance.
 18. The non-transitory computer-readable medium ofclaim 14, wherein the instructions cause the one or more processors toperform operations, further comprising: updating the knowledge graphstored in the computing device to include the association between thefirst digital asset and the location identifier.
 19. The non-transitorycomputer-readable medium of claim 18, wherein the instructions cause theone or more processors to perform operations, further comprising:accessing a telephone call history on the computing device to correlatea call to the location identifier.
 20. The non-transitorycomputer-readable medium of claim 14, wherein the instructions cause theone or more processors to perform operations, further comprising:associating the second digital asset with the location identifier, inaccordance with a determination that the confidence metric exceeds theconfidence threshold.